summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-10-25 16:24:58 +0200
committerGitHub <noreply@github.com>2022-10-25 16:24:58 +0200
commit19c9785db97de4751c98c4cb04596826e64a1664 (patch)
tree684145bf075d1e6532b458b2539305262b3add88 /client
parent55151325ae7a3547bd18777b75451998c41f1cbf (diff)
parent769549a2710faf032e156b14d391351e63433d8a (diff)
Merge pull request #24560 from vespa-engine/arnej/move-setrlimit
move SetResourceLimit to util
Diffstat (limited to 'client')
-rw-r--r--client/go/script-utils/startcbinary/tuning.go6
-rw-r--r--client/go/util/setrlimit.go (renamed from client/go/script-utils/startcbinary/setrlimit.go)10
-rw-r--r--client/go/util/setrlimit_windows.go (renamed from client/go/script-utils/startcbinary/setrlimit_windows.go)4
3 files changed, 12 insertions, 8 deletions
diff --git a/client/go/script-utils/startcbinary/tuning.go b/client/go/script-utils/startcbinary/tuning.go
index 80fec7cc6c2..dbe4d34dabe 100644
--- a/client/go/script-utils/startcbinary/tuning.go
+++ b/client/go/script-utils/startcbinary/tuning.go
@@ -44,7 +44,7 @@ func getThpSizeMb() int {
func (spec *ProgSpec) configureTuning() {
spec.optionallyReduceBaseFrequency()
- setResourceLimit(RLIMIT_CORE, NO_RLIMIT)
- setResourceLimit(RLIMIT_NOFILE, 262144)
- setResourceLimit(RLIMIT_NPROC, 409600)
+ util.SetResourceLimit(util.RLIMIT_CORE, util.NO_RLIMIT)
+ util.SetResourceLimit(util.RLIMIT_NOFILE, 262144)
+ util.SetResourceLimit(util.RLIMIT_NPROC, 409600)
}
diff --git a/client/go/script-utils/startcbinary/setrlimit.go b/client/go/util/setrlimit.go
index 5d7f33d5a0e..4ec1ea60a3c 100644
--- a/client/go/script-utils/startcbinary/setrlimit.go
+++ b/client/go/util/setrlimit.go
@@ -2,7 +2,7 @@
//go:build !windows
-package startcbinary
+package util
import (
"github.com/vespa-engine/vespa/client/go/trace"
@@ -31,7 +31,7 @@ func (rid ResourceId) String() string {
return "unknown resource id"
}
-func setResourceLimit(resource ResourceId, newVal uint64) {
+func SetResourceLimit(resource ResourceId, newVal uint64) {
var current unix.Rlimit
err := unix.Getrlimit(int(resource), &current)
if err != nil {
@@ -42,7 +42,11 @@ func setResourceLimit(resource ResourceId, newVal uint64) {
if current.Max < newVal {
if os.Getuid() == 0 {
wanted.Max = newVal
- } else {
+ } else if newVal > current.Max {
+ trace.Warning(
+ "Wanted", newVal,
+ "as limit for", resource.String(),
+ "but cannot exceed current hard limit:", current.Max)
newVal = current.Max
}
}
diff --git a/client/go/script-utils/startcbinary/setrlimit_windows.go b/client/go/util/setrlimit_windows.go
index 5bed1916246..c40b1cb1364 100644
--- a/client/go/script-utils/startcbinary/setrlimit_windows.go
+++ b/client/go/util/setrlimit_windows.go
@@ -2,7 +2,7 @@
//go:build windows
-package startcbinary
+package util
type ResourceId int
@@ -13,6 +13,6 @@ const (
NO_RLIMIT uint64 = ^uint64(0)
)
-func setResourceLimit(resource ResourceId, max uint64) {
+func SetResourceLimit(resource ResourceId, max uint64) {
// nop
}