diff --git a/cmd/prometheus/main.go b/cmd/prometheus/main.go
index 9049d4d29..dbb513bbd 100644
--- a/cmd/prometheus/main.go
+++ b/cmd/prometheus/main.go
@@ -195,6 +195,7 @@ type flagConfig struct {
enableAutoReload bool
autoReloadInterval model.Duration
+ maxprocsEnable bool
memlimitEnable bool
memlimitRatio float64
@@ -202,7 +203,6 @@ type flagConfig struct {
// These options are extracted from featureList
// for ease of use.
enablePerStepStats bool
- enableAutoGOMAXPROCS bool
enableConcurrentRuleEval bool
prometheusURL string
@@ -234,9 +234,6 @@ func (c *flagConfig) setFeatureListOptions(logger *slog.Logger) error {
case "promql-per-step-stats":
c.enablePerStepStats = true
logger.Info("Experimental per-step statistics reporting")
- case "auto-gomaxprocs":
- c.enableAutoGOMAXPROCS = true
- logger.Info("Automatically set GOMAXPROCS to match Linux container CPU quota")
case "auto-reload-config":
c.enableAutoReload = true
if s := time.Duration(c.autoReloadInterval).Seconds(); s > 0 && s < 1 {
@@ -329,6 +326,8 @@ func main() {
a.Flag("web.listen-address", "Address to listen on for UI, API, and telemetry. Can be repeated.").
Default("0.0.0.0:9090").StringsVar(&cfg.web.ListenAddresses)
+ a.Flag("auto-gomaxprocs", "Automatically set GOMAXPROCS to match Linux container CPU quota").
+ Default("true").BoolVar(&cfg.maxprocsEnable)
a.Flag("auto-gomemlimit", "Automatically set GOMEMLIMIT to match Linux container or system memory limit").
Default("true").BoolVar(&cfg.memlimitEnable)
a.Flag("auto-gomemlimit.ratio", "The ratio of reserved GOMEMLIMIT memory to the detected maximum container or system memory").
@@ -756,7 +755,7 @@ func main() {
ruleManager *rules.Manager
)
- if cfg.enableAutoGOMAXPROCS {
+ if cfg.maxprocsEnable {
l := func(format string, a ...interface{}) {
logger.Info(fmt.Sprintf(strings.TrimPrefix(format, "maxprocs: "), a...), "component", "automaxprocs")
}
diff --git a/docs/command-line/prometheus.md b/docs/command-line/prometheus.md
index 9f5400c41..dd207dc38 100644
--- a/docs/command-line/prometheus.md
+++ b/docs/command-line/prometheus.md
@@ -17,6 +17,7 @@ The Prometheus monitoring server
| --config.file
| Prometheus configuration file path. | `prometheus.yml` |
| --config.auto-reload-interval
| Specifies the interval for checking and automatically reloading the Prometheus configuration file upon detecting changes. | `30s` |
| --web.listen-address
... | Address to listen on for UI, API, and telemetry. Can be repeated. | `0.0.0.0:9090` |
+| --auto-gomaxprocs
| Automatically set GOMAXPROCS to match Linux container CPU quota | `true` |
| --auto-gomemlimit
| Automatically set GOMEMLIMIT to match Linux container or system memory limit | `true` |
| --auto-gomemlimit.ratio
| The ratio of reserved GOMEMLIMIT memory to the detected maximum container or system memory | `0.9` |
| --web.config.file
| [EXPERIMENTAL] Path to configuration file that can enable TLS or authentication. | |
diff --git a/docs/feature_flags.md b/docs/feature_flags.md
index 0541961f2..8c0e319f9 100644
--- a/docs/feature_flags.md
+++ b/docs/feature_flags.md
@@ -47,12 +47,6 @@ statistics. Currently this is limited to totalQueryableSamples.
When disabled in either the engine or the query, per-step statistics are not
computed at all.
-## Auto GOMAXPROCS
-
-`--enable-feature=auto-gomaxprocs`
-
-When enabled, GOMAXPROCS variable is automatically set to match Linux container CPU quota.
-
## Native Histograms
`--enable-feature=native-histograms`