aboutsummaryrefslogtreecommitdiffstats
path: root/client/go/jvm/options.go
diff options
context:
space:
mode:
Diffstat (limited to 'client/go/jvm/options.go')
-rw-r--r--client/go/jvm/options.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/client/go/jvm/options.go b/client/go/jvm/options.go
index cbaaa32cfc3..dae66690966 100644
--- a/client/go/jvm/options.go
+++ b/client/go/jvm/options.go
@@ -5,6 +5,7 @@ package jvm
import (
"fmt"
+ "strconv"
"strings"
"github.com/vespa-engine/vespa/client/go/defaults"
@@ -75,3 +76,23 @@ func (opts *Options) AddJvmArgsFromString(args string) {
opts.AppendOption(x)
}
}
+
+func (opts *Options) ConfigureCpuCount(cnt int) {
+ if cnt <= 0 {
+ out, err := util.BackTicksForwardStderr.Run("nproc", "--all")
+ if err != nil {
+ trace.Trace("failed nproc:", err)
+ } else {
+ cnt, err = strconv.Atoi(strings.TrimSpace(out))
+ if err != nil {
+ trace.Trace("bad nproc output:", strings.TrimSpace(out))
+ cnt = 0
+ } else {
+ trace.Trace("CpuCount: using", cnt, "from nproc --all")
+ }
+ }
+ }
+ if cnt > 0 {
+ opts.AddOption(fmt.Sprintf("-XX:ActiveProcessorCount=%d", cnt))
+ }
+}