OS Manuals

/usr/bin/vmselect

performs incoming queries by fetching the needed data from all the configured vmstorage nodes

From victoriametrics-vmselect-cluster 1.145.0-r0 (os), captured 2026-11-10 by running vmselect --help (exit 0). permalink

2026/11/10 14:00:58 INFO: metrics: disable exposing PSI metrics because of failed init: open /sys/fs/cgroup/cpu.pressure: no such file or directory

vmselect processes incoming queries by fetching the requested data from vmstorage nodes configured via -storageNode.

See the docs at https://docs.victoriametrics.com/victoriametrics/cluster-victoriametrics/ .

  -blockcache.missesBeforeCaching int
    	The number of cache misses before putting the block into cache. Higher values may reduce indexdb/dataBlocks cache size at the cost of higher CPU and disk read usage (default 2)
  -cacheDataPath string
    	Path to directory for cache files and temporary query results. By default, the cache won't be persisted, and temporary query results will be placed under /tmp/searchResults. If set, the cache will be persisted under cacheDataPath/rollupResult, and temporary query results will be placed under cacheDataPath/tmp/searchResults.
  -cacheExpireDuration duration
    	Items are removed from in-memory caches after they aren't accessed for this duration. Lower values may reduce memory usage at the cost of higher CPU usage. See also -prevCacheRemovalPercent (default 30m0s)
  -clusternative.disableCompression
    	Whether to disable compression of the data sent to vmselect via -clusternativeListenAddr. This reduces CPU usage at the cost of higher network bandwidth usage
  -clusternative.maxConcurrentRequests int
    	The maximum number of concurrent vmselect requests the server can process at -clusternativeListenAddr. Default value depends on the number of available CPU cores. It shouldn't be high, since a single request usually saturates a CPU core at the underlying vmstorage nodes, and many concurrently executed requests may require high amounts of memory. See also -clusternative.maxQueueDuration (default 128)
  -clusternative.maxQueueDuration duration
    	The maximum time the incoming query to -clusternativeListenAddr waits for execution when -clusternative.maxConcurrentRequests limit is reached (default 10s)
  -clusternative.maxTagKeys int
    	The maximum number of tag keys returned per search at -clusternativeListenAddr (default 100000)
  -clusternative.maxTagValueSuffixesPerSearch int
    	The maximum number of tag value suffixes returned from /metrics/find at -clusternativeListenAddr (default 100000)
  -clusternative.maxTagValues int
    	The maximum number of tag values returned per search at -clusternativeListenAddr (default 100000)
  -clusternativeListenAddr string
    	TCP address to listen for requests from other vmselect nodes in multi-level cluster setup. See https://docs.victoriametrics.com/victoriametrics/cluster-victoriametrics/#multi-level-cluster-setup . Usually :8401 should be set to match default vmstorage port for vmselect. Disabled work if empty
  -dedup.minScrapeInterval duration
    	Leave only the last sample in every time series per each discrete interval equal to -dedup.minScrapeInterval > 0. See https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#deduplication for details
  -deleteAuthKey value
    	authKey for metrics' deletion via /prometheus/api/v1/admin/tsdb/delete_series and /graphite/tags/delSeries. It could be passed via authKey query arg. It overrides -httpAuth.*
    	Flag value can be read from the given file when using -deleteAuthKey=file:///abs/path/to/file or -deleteAuthKey=file://./relative/path/to/file.
    	Flag value can be read from the given http/https url when using -deleteAuthKey=http://host/path or -deleteAuthKey=https://host/path
  -denyQueryTracing
    	Whether to disable the ability to trace queries. See https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#query-tracing
  -enableMultitenancyViaHeaders
    	Enables multitenancy via HTTP headers. See https://docs.victoriametrics.com/victoriametrics/cluster-victoriametrics/#multitenancy-via-headers
  -enableTCP6
    	Whether to enable IPv6 for listening and dialing. By default, only IPv4 TCP and UDP are used
  -envflag.enable
    	Whether to enable reading flags from environment variables in addition to the command line. Command line flag values have priority over values from environment vars. Flags are read only from the command line if this flag isn't set. See https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#environment-variables for more details
  -envflag.prefix string
    	Prefix for environment variables if -envflag.enable is set
  -filestream.disableFadvise
    	Whether to disable fadvise() syscall when reading large data files. The fadvise() syscall prevents from eviction of recently accessed data from OS page cache during background merges and backups. In some rare cases it is better to disable the syscall if it uses too much CPU
  -flagsAuthKey value
    	Auth key for /flags endpoint. It must be passed via authKey query arg. It overrides -httpAuth.*
    	Flag value can be read from the given file when using -flagsAuthKey=file:///abs/path/to/file or -flagsAuthKey=file://./relative/path/to/file.
    	Flag value can be read from the given http/https url when using -flagsAuthKey=http://host/path or -flagsAuthKey=https://host/path
  -fs.disableMincore
    	Whether to disable the mincore() syscall for checking mmap()ed files. By default, mincore() is used to detect whether mmap()ed file pages are resident in memory. Disabling mincore() may be needed on older ZFS filesystems (below 2.1.5), since it may trigger ZFS bug. See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/10327 for details.
  -fs.disableMmap
    	Whether to use pread() instead of mmap() for reading data files. By default, mmap() is used for 64-bit arches and pread() is used for 32-bit arches, since they cannot read data files bigger than 2^32 bytes in memory. mmap() is usually faster for reading small data chunks than pread()
  -fs.maxConcurrency int
    	The maximum number of concurrent goroutines to work with files; smaller values may help reducing Go scheduling latency on systems with small number of CPU cores; higher values may help reducing data ingestion latency on systems with high-latency storage such as NFS or Ceph (default 256)
  -globalReplicationFactor int
    	How many copies of every ingested sample is available across vmstorage groups. vmselect continues returning full responses when up to globalReplicationFactor-1 vmstorage groups are temporarily unavailable. See https://docs.victoriametrics.com/victoriametrics/cluster-victoriametrics/#vmstorage-groups-at-vmselect . See also -replicationFactor (default 1)
  -graphite.sanitizeMetricName
    	Sanitize metric names for the ingested Graphite data. See https://docs.victoriametrics.com/victoriametrics/integrations/graphite/#ingesting
  -http.connTimeout duration
    	Incoming connections to -httpListenAddr are closed after the configured timeout. This may help evenly spreading load among a cluster of services behind TCP-level load balancer. Zero value disables closing of incoming connections (default 2m0s)
  -http.disableCORS
    	Disable CORS for all origins (*)
  -http.disableKeepAlive
    	Whether to disable HTTP keep-alive for incoming connections at -httpListenAddr
  -http.disableResponseCompression
    	Disable compression of HTTP responses to save CPU resources. By default, compression is enabled to save network bandwidth
  -http.header.csp string
    	Value for 'Content-Security-Policy' header, recommended: "default-src 'self'"
  -http.header.frameOptions string
    	Value for 'X-Frame-Options' header
  -http.header.hsts string
    	Value for 'Strict-Transport-Security' header, recommended: 'max-age=31536000; includeSubDomains'
  -http.idleConnTimeout duration
    	Timeout for incoming idle http connections (default 1m0s)
  -http.maxGracefulShutdownDuration duration
    	The maximum duration for a graceful shutdown of the HTTP server. A highly loaded server may require increased value for a graceful shutdown (default 7s)
  -http.pathPrefix string
    	An optional prefix to add to all the paths handled by http server. For example, if '-http.pathPrefix=/foo/bar' is set, then all the http requests will be handled on '/foo/bar/*' paths. This may be useful for proxied requests. See https://www.robustperception.io/using-external-urls-and-proxies-with-prometheus
  -http.shutdownDelay duration
    	Optional delay before http server shutdown. During this delay, the server returns non-OK responses from /health page, so load balancers can route new requests to other servers
  -httpAuth.password value
    	Password for HTTP server's Basic Auth. The authentication is disabled if -httpAuth.username is empty
    	Flag value can be read from the given file when using -httpAuth.password=file:///abs/path/to/file or -httpAuth.password=file://./relative/path/to/file.
    	Flag value can be read from the given http/https url when using -httpAuth.password=http://host/path or -httpAuth.password=https://host/path
  -httpAuth.username string
    	Username for HTTP server's Basic Auth. The authentication is disabled if empty. See also -httpAuth.password
  -httpListenAddr array
    	Address to listen for incoming http requests. See also -httpListenAddr.useProxyProtocol
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -httpListenAddr.useProxyProtocol array
    	Whether to use proxy protocol for connections accepted at the given -httpListenAddr . See https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt . With enabled proxy protocol http server cannot serve regular /metrics endpoint. Use -pushmetrics.url for metrics pushing
    	Supports array of values separated by comma or specified via multiple flags.
    	Empty values are set to false.
  -internStringCacheExpireDuration duration
    	The expiry duration for caches for interned strings. See https://en.wikipedia.org/wiki/String_interning . See also -internStringMaxLen and -internStringDisableCache (default 6m0s)
  -internStringDisableCache
    	Whether to disable caches for interned strings. This may reduce memory usage at the cost of higher CPU usage. See https://en.wikipedia.org/wiki/String_interning . See also -internStringCacheExpireDuration and -internStringMaxLen
  -internStringMaxLen int
    	The maximum length for strings to intern. A lower limit may save memory at the cost of higher CPU usage. See https://en.wikipedia.org/wiki/String_interning . See also -internStringDisableCache and -internStringCacheExpireDuration (default 500)
  -loggerDisableTimestamps
    	Whether to disable writing timestamps in logs
  -loggerErrorsPerSecondLimit int
    	Per-second limit on the number of ERROR messages. If more than the given number of errors are emitted per second, the remaining errors are suppressed. Zero values disable the rate limit
  -loggerFormat string
    	Format for logs. Possible values: default, json (default "default")
  -loggerJSONFields string
    	Allows renaming fields in JSON formatted logs. Example: "ts:timestamp,msg:message" renames "ts" to "timestamp" and "msg" to "message". Supported fields: ts, level, caller, msg
  -loggerLevel string
    	Minimum level of errors to log. Possible values: INFO, WARN, ERROR, FATAL, PANIC (default "INFO")
  -loggerMaxArgLen int
    	The maximum length of a single logged argument. Longer arguments are replaced with 'arg_start..arg_end', where 'arg_start' and 'arg_end' is prefix and suffix of the arg with the length not exceeding -loggerMaxArgLen / 2 (default 5000)
  -loggerOutput string
    	Output for the logs. Supported values: stderr, stdout (default "stderr")
  -loggerTimezone string
    	Timezone to use for timestamps in logs. Timezone must be a valid IANA Time Zone. For example: America/New_York, Europe/Berlin, Etc/GMT+3 or Local (default "UTC")
  -loggerWarnsPerSecondLimit int
    	Per-second limit on the number of WARN messages. If more than the given number of warns are emitted per second, then the remaining warns are suppressed. Zero values disable the rate limit
  -memory.allowedBytes size
    	Allowed size of system memory VictoriaMetrics caches may occupy. This option overrides -memory.allowedPercent if set to a non-zero value. Too low a value may increase the cache miss rate usually resulting in higher CPU and disk IO usage. Too high a value may evict too much data from the OS page cache resulting in higher disk IO usage. The process may behave unexpectedly if this flag is set too small (e.g., 1 byte).
    	Supports the following optional suffixes for size values: KB, MB, GB, TB, KiB, MiB, GiB, TiB (default 0)
  -memory.allowedPercent float
    	Allowed percent of system memory VictoriaMetrics caches may occupy. See also -memory.allowedBytes. Too low a value may increase cache miss rate usually resulting in higher CPU and disk IO usage. Too high a value may evict too much data from the OS page cache which will result in higher disk IO usage (default 60)
  -metricNamesStatsResetAuthKey value
    	authKey for resetting metric names usage cache via /api/v1/admin/status/metric_names_stats/reset. It overrides -httpAuth.*. See https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#track-ingested-metrics-usage
    	Flag value can be read from the given file when using -metricNamesStatsResetAuthKey=file:///abs/path/to/file or -metricNamesStatsResetAuthKey=file://./relative/path/to/file.
    	Flag value can be read from the given http/https url when using -metricNamesStatsResetAuthKey=http://host/path or -metricNamesStatsResetAuthKey=https://host/path
  -metrics.exposeMetadata
    	Whether to expose TYPE and HELP metadata at the /metrics page, which is exposed at -httpListenAddr . The metadata may be needed when the /metrics page is consumed by systems, which require this information. For example, Managed Prometheus in Google Cloud - https://cloud.google.com/stackdriver/docs/managed-prometheus/troubleshooting#missing-metric-type
  -metricsAuthKey value
    	Auth key for /metrics endpoint. It must be passed via authKey query arg. It overrides -httpAuth.*
    	Flag value can be read from the given file when using -metricsAuthKey=file:///abs/path/to/file or -metricsAuthKey=file://./relative/path/to/file.
    	Flag value can be read from the given http/https url when using -metricsAuthKey=http://host/path or -metricsAuthKey=https://host/path
  -pprofAuthKey value
    	Auth key for /debug/pprof/* endpoints. It must be passed via authKey query arg. It overrides -httpAuth.*
    	Flag value can be read from the given file when using -pprofAuthKey=file:///abs/path/to/file or -pprofAuthKey=file://./relative/path/to/file.
    	Flag value can be read from the given http/https url when using -pprofAuthKey=http://host/path or -pprofAuthKey=https://host/path
  -prevCacheRemovalPercent float
    	Items in the previous caches are removed when the percent of requests it serves becomes lower than this value. Higher values reduce memory usage at the cost of higher CPU usage. See also -cacheExpireDuration (default 0.1)
  -pushmetrics.disableCompression
    	Whether to disable request body compression when pushing metrics to every -pushmetrics.url
  -pushmetrics.extraLabel array
    	Optional labels to add to metrics pushed to every -pushmetrics.url . For example, -pushmetrics.extraLabel='instance="foo"' adds instance="foo" label to all the metrics pushed to every -pushmetrics.url
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -pushmetrics.header array
    	Optional HTTP request header to send to every -pushmetrics.url . For example, -pushmetrics.header='Authorization: Basic foobar' adds 'Authorization: Basic foobar' header to every request to every -pushmetrics.url
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -pushmetrics.interval duration
    	Interval for pushing metrics to every -pushmetrics.url (default 10s)
  -pushmetrics.url array
    	Optional URL to push metrics exposed at /metrics page. See https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#push-metrics . By default, metrics exposed at /metrics page aren't pushed to any remote storage
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -replicationFactor array
    	How many copies of every ingested sample is available across -storageNode nodes. vmselect continues returning full responses when up to replicationFactor-1 vmstorage nodes are temporarily unavailable. See also -globalReplicationFactor and -search.skipSlowReplicas (default 1)
    	Supports an array of `key:value` entries separated by comma or specified via multiple flags.
  -rpc.handshakeTimeout duration
    	Timeout for RPC handshake between vminsert/vmselect and vmstorage. Increase this value if transient handshake failures occur. See https://docs.victoriametrics.com/victoriametrics/troubleshooting/#cluster-instability section for more details. (default 5s)
  -search.cacheTimestampOffset duration
    	The maximum duration since the current time for response data, which is always queried from the original raw data, without using the response cache. Increase this value if you see gaps in responses due to time synchronization issues between VictoriaMetrics and data sources (default 5m0s)
  -search.denyPartialResponse
    	Whether to deny partial responses if a part of -storageNode instances fail to perform queries; this trades availability over consistency; see also -search.maxQueryDuration
  -search.disableCache
    	Whether to disable response caching. This may be useful when ingesting historical data. See https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#backfilling . See also -search.resetRollupResultCacheOnStartup
  -search.disableImplicitConversion
    	Whether to return an error for queries that rely on implicit subquery conversions, see https://docs.victoriametrics.com/victoriametrics/metricsql/#subqueries for details. See also -search.logImplicitConversion.
  -search.graphiteMaxPointsPerSeries int
    	The maximum number of points per series Graphite render API can return (default 1000000)
  -search.graphiteStorageStep duration
    	The interval between datapoints stored in the database. It is used at Graphite Render API handler for normalizing the interval between datapoints in case it isn't normalized. It can be overridden by sending 'storage_step' query arg to /render API or by sending the desired interval via 'Storage-Step' http header during querying /render API (default 10s)
  -search.ignoreExtraFiltersAtLabelsAPI
    	Whether to ignore match[], extra_filters[] and extra_label query args at /api/v1/labels and /api/v1/label/.../values . This may be useful for decreasing load on VictoriaMetrics when extra filters match too many time series. The downside is that superfluous labels or series could be returned, which do not match the extra filters. See also -search.maxLabelsAPISeries and -search.maxLabelsAPIDuration
  -search.inmemoryBufSizeBytes size
    	Size for in-memory data blocks used during processing search requests. By default, the size is automatically calculated based on available memory. Adjust this flag value if you observe that vm_tmp_blocks_max_inmemory_file_size_bytes metric constantly shows much higher values than vm_tmp_blocks_inmemory_file_size_bytes. See https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6851
    	Supports the following optional suffixes for size values: KB, MB, GB, TB, KiB, MiB, GiB, TiB (default 0)
  -search.latencyOffset duration
    	The time when data points become visible in query results after the collection. It can be overridden on per-query basis via latency_offset arg. Too small value can result in incomplete last points for query results (default 30s)
  -search.logImplicitConversion
    	Whether to log queries with implicit subquery conversions, see https://docs.victoriametrics.com/victoriametrics/metricsql/#subqueries for details. Such conversion can be disabled using -search.disableImplicitConversion.
  -search.logQueryMemoryUsage size
    	Log query and increment vm_memory_intensive_queries_total metric each time the query requires more memory than specified by this flag. This may help detecting and optimizing heavy queries. Query logging is disabled by default. See also -search.logSlowQueryDuration and -search.maxMemoryPerQuery
    	Supports the following optional suffixes for size values: KB, MB, GB, TB, KiB, MiB, GiB, TiB (default 0)
  -search.logSlowQueryDuration duration
    	Log queries with execution time exceeding this value. Zero disables slow query logging. See also -search.logQueryMemoryUsage (default 5s)
  -search.maxBinaryOpPushdownLabelValues int
    	The maximum number of values for a label in the first expression that can be extracted as a common label filter and pushed down to the second expression in a binary operation. A larger value makes the pushed-down filter more complex but fewer time series will be returned. This flag is useful when selective label (e.g., 'instance') contains numerous values, and storage resources are abundant. (default 100)
  -search.maxConcurrentRequests int
    	The maximum number of concurrent search requests. It shouldn't be high, since a single request can saturate all the CPU cores, while many concurrently executed requests may require high amounts of memory. See also -search.maxQueueDuration and -search.maxMemoryPerQuery (default 16)
  -search.maxDeleteDuration duration
    	The maximum duration for /api/v1/admin/tsdb/delete_series call (default 5m0s)
  -search.maxDeleteSeries int
    	The maximum number of time series, which can be deleted using /api/v1/admin/tsdb/delete_series. This option allows limiting memory usage (default 1000000)
  -search.maxExportDuration duration
    	The maximum duration for /api/v1/export call (default 720h0m0s)
  -search.maxExportSeries int
    	The maximum number of time series, which can be returned from /api/v1/export* APIs. This option allows limiting memory usage (default 10000000)
  -search.maxFederateSeries int
    	The maximum number of time series, which can be returned from /federate. This option allows limiting memory usage (default 1000000)
  -search.maxGraphitePathExpressionLen int
    	The maximum length of pathExpression field in Graphite series. Longer expressions are truncated to prevent memory exhaustion on complex nested queries. Set to 0 to disable truncation. (default 1024)
  -search.maxGraphiteSeries int
    	The maximum number of time series, which can be scanned during queries to Graphite Render API. See https://docs.victoriametrics.com/victoriametrics/integrations/graphite/#render-api (default 300000)
  -search.maxGraphiteTagKeys int
    	The maximum number of tag keys returned from Graphite API, which returns tags. See https://docs.victoriametrics.com/victoriametrics/integrations/graphite/#tags-api (default 100000)
  -search.maxGraphiteTagValues int
    	The maximum number of tag values returned from Graphite API, which returns tag values. See https://docs.victoriametrics.com/victoriametrics/integrations/graphite/#tags-api (default 100000)
  -search.maxLabelsAPIDuration duration
    	The maximum duration for /api/v1/labels, /api/v1/label/.../values and /api/v1/series requests. See also -search.maxLabelsAPISeries and -search.ignoreExtraFiltersAtLabelsAPI (default 5s)
  -search.maxLabelsAPISeries int
    	The maximum number of time series, which could be scanned when searching for the matching time series at /api/v1/labels and /api/v1/label/.../values. This option allows limiting memory usage and CPU usage. See also -search.maxLabelsAPIDuration, -search.maxTagKeys, -search.maxTagValues and -search.ignoreExtraFiltersAtLabelsAPI (default 1000000)
  -search.maxLookback duration
    	Synonym to -query.lookback-delta from Prometheus. The value is dynamically detected from interval between time series datapoints if not set. It can be overridden on per-query basis via max_lookback arg. See also '-search.maxStalenessInterval' flag, which has the same meaning due to historical reasons
  -search.maxMemoryPerQuery size
    	The maximum amounts of memory a single query may consume. Queries requiring more memory are rejected. The total memory limit for concurrently executed queries can be estimated as -search.maxMemoryPerQuery multiplied by -search.maxConcurrentRequests . See also -search.logQueryMemoryUsage
    	Supports the following optional suffixes for size values: KB, MB, GB, TB, KiB, MiB, GiB, TiB (default 0)
  -search.maxPointsPerTimeseries int
    	The maximum points per a single timeseries returned from /api/v1/query_range. This option doesn't limit the number of scanned raw samples in the database. The main purpose of this option is to limit the number of per-series points returned to graphing UI such as VMUI or Grafana. There is no sense in setting this limit to values bigger than the horizontal resolution of the graph. See also -search.maxResponseSeries (default 30000)
  -search.maxPointsSubqueryPerTimeseries int
    	The maximum number of points per series, which can be generated by subquery. See https://valyala.medium.com/prometheus-subqueries-in-victoriametrics-9b1492b720b3 (default 100000)
  -search.maxQueryDuration duration
    	The maximum duration for query execution. It can be overridden to a smaller value on a per-query basis via 'timeout' query arg (default 30s)
  -search.maxQueryLen size
    	The maximum search query length in bytes
    	Supports the following optional suffixes for size values: KB, MB, GB, TB, KiB, MiB, GiB, TiB (default 16384)
  -search.maxQueueDuration duration
    	The maximum time the request waits for execution when -search.maxConcurrentRequests limit is reached; see also -search.maxQueryDuration (default 10s)
  -search.maxResponseSeries int
    	The maximum number of time series which can be returned from /api/v1/query and /api/v1/query_range . The limit is disabled if it equals to 0. See also -search.maxPointsPerTimeseries and -search.maxUniqueTimeseries
  -search.maxSamplesPerQuery int
    	The maximum number of raw samples a single query can process across all time series. This protects from heavy queries, which select unexpectedly high number of raw samples. See also -search.maxSamplesPerSeries (default 1000000000)
  -search.maxSamplesPerSeries int
    	The maximum number of raw samples a single query can scan per each time series. See also -search.maxSamplesPerQuery (default 30000000)
  -search.maxSeries int
    	The maximum number of time series, which can be returned from /api/v1/series. This option allows limiting memory usage (default 30000)
  -search.maxSeriesPerAggrFunc int
    	The maximum number of time series an aggregate MetricsQL function can generate (default 1000000)
  -search.maxStalenessInterval duration
    	The maximum interval for staleness calculations. By default, it is automatically calculated from the median interval between samples. This flag could be useful for tuning Prometheus data model closer to Influx-style data model. See https://prometheus.io/docs/prometheus/latest/querying/basics/#staleness for details. See also '-search.setLookbackToStep' flag
  -search.maxStatusRequestDuration duration
    	The maximum duration for /api/v1/status/* requests (default 5m0s)
  -search.maxStepForPointsAdjustment duration
    	The maximum step when /api/v1/query_range handler adjusts points with timestamps closer than -search.latencyOffset to the current time. The adjustment is needed because such points may contain incomplete data (default 1m0s)
  -search.maxTSDBStatusSeries int
    	The maximum number of time series, which can be processed during the call to /api/v1/status/tsdb. This option allows limiting memory usage (default 10000000)
  -search.maxTSDBStatusTopNSeries int
    	The maximum value of 'topN' argument that can be passed to /api/v1/status/tsdb API. This option allows limiting memory usage. See https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#tsdb-stats (default 1000)
  -search.maxTagValueSuffixesPerSearch int
    	The maximum number of tag value suffixes returned from /metrics/find (default 100000)
  -search.maxUniqueTimeseries -search.maxUniqueTimeseries
    	The maximum number of unique time series, which can be selected during /api/v1/query and /api/v1/query_range queries. This option allows limiting memory usage. The limit can't exceed the explicitly set corresponding value -search.maxUniqueTimeseries on vmstorage side.
  -search.maxWorkersPerQuery int
    	The maximum number of CPU cores a single query can use. The default value should work good for most cases. The flag can be set to lower values for improving performance of big number of concurrently executed queries. The flag can be set to bigger values for improving performance of heavy queries, which scan big number of time series (>10K) and/or big number of samples (>100M). There is no sense in setting this flag to values bigger than the number of CPU cores available on the system (default 32)
  -search.minStalenessInterval duration
    	The minimum interval for staleness calculations. This flag could be useful for removing gaps on graphs generated from time series with irregular intervals between samples. See also '-search.maxStalenessInterval'
  -search.minWindowForInstantRollupOptimization duration
    	Enable cache-based optimization for repeated queries to /api/v1/query (aka instant queries), which contain rollup functions with lookbehind window exceeding the given value (default 3h0m0s)
  -search.noStaleMarkers
    	Set this flag to true if the database doesn't contain Prometheus stale markers, so there is no need in spending additional CPU time on its handling. Staleness markers may exist only in data obtained from Prometheus scrape targets
  -search.queryStats.lastQueriesCount int
    	Query stats for /api/v1/status/top_queries is tracked on this number of last queries. Zero value disables query stats tracking (default 20000)
  -search.queryStats.minQueryDuration duration
    	The minimum duration for queries to track in query stats at /api/v1/status/top_queries. Queries with lower duration are ignored in query stats (default 1ms)
  -search.queryStats.minQueryMemoryUsage size
    	The minimum memory bytes consumption for queries to track in query stats at /api/v1/status/top_queries. Queries with lower memory bytes consumption are ignored in query stats
    	Supports the following optional suffixes for size values: KB, MB, GB, TB, KiB, MiB, GiB, TiB (default 1024)
  -search.resetCacheAuthKey value
    	Optional authKey for resetting rollup cache via /internal/resetRollupResultCache call. It could be passed via authKey query arg. It overrides -httpAuth.*
    	Flag value can be read from the given file when using -search.resetCacheAuthKey=file:///abs/path/to/file or -search.resetCacheAuthKey=file://./relative/path/to/file.
    	Flag value can be read from the given http/https url when using -search.resetCacheAuthKey=http://host/path or -search.resetCacheAuthKey=https://host/path
  -search.resetRollupResultCacheOnStartup
    	Whether to reset rollup result cache on startup. See https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#rollup-result-cache . See also -search.disableCache
  -search.setLookbackToStep
    	Whether to fix lookback interval to 'step' query arg value. If set to true, the query model becomes closer to InfluxDB data model. If set to true, then -search.maxLookback and -search.maxStalenessInterval are ignored
  -search.skipSlowReplicas
    	Whether to skip -replicationFactor - 1 slowest vmstorage nodes during querying. Enabling this setting may improve query speed, but it could also lead to incomplete results if some queried data has less than -replicationFactor copies at vmstorage nodes. Consider enabling this setting only if all the queried data contains -replicationFactor copies in the cluster
  -search.tenantCacheExpireDuration duration
    	Expiry duration for caching tenants in memory. A zero value disables caching, causing tenants to be fetched from storage nodes on every query. (default 5m0s)
  -search.treatDotsAsIsInRegexps
    	Whether to treat dots as is in regexp label filters used in queries. For example, foo{bar=~"a.b.c"} will be automatically converted to foo{bar=~"a\\.b\\.c"}, i.e. all the dots in regexp filters will be automatically escaped in order to match only dot char instead of matching any char. Dots in ".+", ".*" and ".{n}" regexps aren't escaped. This option is DEPRECATED in favor of {__graphite__="a.*.c"} syntax for selecting metrics matching the given Graphite metrics filter
  -secret.flags array
    	Comma-separated list of flag names with secret values. Values for these flags are hidden in logs and on /metrics page
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -selectNode array
    	A list of vmselect node addresses to propagate the '/internal/resetRollupResultCache' call. If this flag isn't set, then cache need to be purged from each vmselect individually. Comma-separated addresses of vmselect nodes; usage: -selectNode=vmselect-host1,...,vmselect-hostN
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -storageNode array
    	Comma-separated addresses of vmstorage nodes; usage: -storageNode=vmstorage-host1,...,vmstorage-hostN . Enterprise version of VictoriaMetrics supports automatic discovery of vmstorage addresses via DNS SRV records. For example, -storageNode=srv+vmstorage.addrs . See https://docs.victoriametrics.com/victoriametrics/cluster-victoriametrics/#automatic-vmstorage-discovery
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -tls array
    	Whether to enable TLS for incoming HTTP requests at the given -httpListenAddr (aka https). -tlsCertFile and -tlsKeyFile must be set if -tls is set. See also -mtls
    	Supports array of values separated by comma or specified via multiple flags.
    	Empty values are set to false.
  -tlsCertFile array
    	Path to file with TLS certificate for the corresponding -httpListenAddr if -tls is set. Prefer ECDSA certs instead of RSA certs as RSA certs are slower. The provided certificate file is automatically re-read every second, so it can be dynamically updated. See also -tlsAutocertHosts
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -tlsCipherSuites array
    	Optional list of TLS cipher suites for incoming requests over HTTPS if -tls is set. See the list of supported cipher suites at https://pkg.go.dev/crypto/tls#pkg-constants
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -tlsKeyFile array
    	Path to file with TLS key for the corresponding -httpListenAddr if -tls is set. The provided key file is automatically re-read every second, so it can be dynamically updated. See also -tlsAutocertHosts
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -tlsMinVersion array
    	Optional minimum TLS version to use for the corresponding -httpListenAddr if -tls is set. Supported values: TLS10, TLS11, TLS12, TLS13
    	Supports an array of values separated by comma or specified via multiple flags.
    	Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
  -version
    	Show VictoriaMetrics version
  -vmalert.proxyURL string
    	Optional URL for proxying requests to vmalert. For example, if -vmalert.proxyURL=http://vmalert:8880 , then alerting API requests such as /api/v1/rules from Grafana will be proxied to http://vmalert:8880/api/v1/rules
  -vmstorageDialTimeout duration
    	Timeout for establishing RPC connections from vmselect to vmstorage. See also -vmstorageUserTimeout (default 3s)
  -vmstorageUserTimeout duration
    	Network timeout for RPC connections from vmselect to vmstorage (Linux only). Lower values reduce the maximum query durations when some vmstorage nodes become unavailable because of networking issues. Read more about TCP_USER_TIMEOUT at https://blog.cloudflare.com/when-tcp-sockets-refuse-to-die/ . See also -vmstorageDialTimeout (default 3s)
  -vmui.customDashboardsPath string
    	Optional path to vmui dashboards. See https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/vmui/packages/vmui/public/dashboards
  -vmui.defaultTimezone string
    	The default timezone to be used in vmui. Timezone must be a valid IANA Time Zone. For example: America/New_York, Europe/Berlin, Etc/GMT+3 or Local
Options (136)
OptionDescriptionSource
-blockcache.missesBeforeCaching intThe number of cache misses before putting the block into cache.help
-cacheDataPath stringPath to directory for cache files and temporary query results.help
-cacheExpireDuration durationItems are removed from in-memory caches after they aren't accessed for this duration.help
-clusternative.disableCompressionWhether to disable compression of the data sent to vmselect via -clusternativeListenAddr.help
-clusternative.maxConcurrentRequests intThe maximum number of concurrent vmselect requests the server can process at -clusternativeListenAddr.help
-clusternative.maxQueueDuration durationThe maximum time the incoming query to -clusternativeListenAddr waits for execution when -clusternative.maxConcurrentRequests limit is reached (default 10s)help
-clusternative.maxTagKeys intThe maximum number of tag keys returned per search at -clusternativeListenAddr (default 100000)help
-clusternative.maxTagValueSuffixesPerSearch intThe maximum number of tag value suffixes returned from /metrics/find at -clusternativeListenAddr (default 100000)help
-clusternative.maxTagValues intThe maximum number of tag values returned per search at -clusternativeListenAddr (default 100000)help
-clusternativeListenAddr stringTCP address to listen for requests from other vmselect nodes in multi-level cluster setup.help
-dedup.minScrapeInterval durationLeave only the last sample in every time series per each discrete interval equal to -dedup.minScrapeInterval > 0.help
-deleteAuthKey valueauthKey for metrics' deletion via /prometheus/api/v1/admin/tsdb/delete_series and /graphite/tags/delSeries.help
-denyQueryTracingWhether to disable the ability to trace queries.help
-enableMultitenancyViaHeadersEnables multitenancy via HTTP headers.help
-enableTCP6Whether to enable IPv6 for listening and dialing.help
-envflag.enableWhether to enable reading flags from environment variables in addition to the command line.help
-envflag.prefix stringPrefix for environment variables if -envflag.enable is sethelp
-filestream.disableFadviseWhether to disable fadvise() syscall when reading large data files.help
-flagsAuthKey valueAuth key for /flags endpoint.help
-fs.disableMincoreWhether to disable the mincore() syscall for checking mmap()ed files.help
-fs.disableMmapWhether to use pread() instead of mmap() for reading data files.help
-fs.maxConcurrency intThe maximum number of concurrent goroutines to work with files;help
-globalReplicationFactor intHow many copies of every ingested sample is available across vmstorage groups.help
-graphite.sanitizeMetricNameSanitize metric names for the ingested Graphite data.help
-http.connTimeout durationIncoming connections to -httpListenAddr are closed after the configured timeout.help
-http.disableCORSDisable CORS for all origins (*)help
-http.disableKeepAliveWhether to disable HTTP keep-alive for incoming connections at -httpListenAddrhelp
-http.disableResponseCompressionDisable compression of HTTP responses to save CPU resources.help
-http.header.csp stringValue for 'Content-Security-Policy' header, recommended: "default-src 'self'"help
-http.header.frameOptions stringValue for 'X-Frame-Options' headerhelp
-http.header.hsts stringValue for 'Strict-Transport-Security' header, recommended: 'max-age=31536000;help
-http.idleConnTimeout durationTimeout for incoming idle http connections (default 1m0s)help
-http.maxGracefulShutdownDuration durationThe maximum duration for a graceful shutdown of the HTTP server.help
-http.pathPrefix stringAn optional prefix to add to all the paths handled by http server.help
-http.shutdownDelay durationOptional delay before http server shutdown.help
-httpAuth.password valuePassword for HTTP server's Basic Auth.help
-httpAuth.username stringUsername for HTTP server's Basic Auth.help
-httpListenAddr arrayAddress to listen for incoming http requests.help
-httpListenAddr.useProxyProtocol arrayWhether to use proxy protocol for connections accepted at the given -httpListenAddr .help
-internStringCacheExpireDuration durationThe expiry duration for caches for interned strings.help
-internStringDisableCacheWhether to disable caches for interned strings.help
-internStringMaxLen intThe maximum length for strings to intern.help
-loggerDisableTimestampsWhether to disable writing timestamps in logshelp
-loggerErrorsPerSecondLimit intPer-second limit on the number of ERROR messages.help
-loggerFormat stringFormat for logs.help
-loggerJSONFields stringAllows renaming fields in JSON formatted logs.help
-loggerLevel stringMinimum level of errors to log.help
-loggerMaxArgLen intThe maximum length of a single logged argument.help
-loggerOutput stringOutput for the logs.help
-loggerTimezone stringTimezone to use for timestamps in logs.help
-loggerWarnsPerSecondLimit intPer-second limit on the number of WARN messages.help
-memory.allowedBytes sizeAllowed size of system memory VictoriaMetrics caches may occupy.help
-memory.allowedPercent floatAllowed percent of system memory VictoriaMetrics caches may occupy.help
-metricNamesStatsResetAuthKey valueauthKey for resetting metric names usage cache via /api/v1/admin/status/metric_names_stats/reset.help
-metrics.exposeMetadataWhether to expose TYPE and HELP metadata at the /metrics page, which is exposed at -httpListenAddr .help
-metricsAuthKey valueAuth key for /metrics endpoint.help
-pprofAuthKey valueAuth key for /debug/pprof/* endpoints.help
-prevCacheRemovalPercent floatItems in the previous caches are removed when the percent of requests it serves becomes lower than this value.help
-pushmetrics.disableCompressionWhether to disable request body compression when pushing metrics to every -pushmetrics.urlhelp
-pushmetrics.extraLabel arrayOptional labels to add to metrics pushed to every -pushmetrics.url .help
-pushmetrics.header arrayOptional HTTP request header to send to every -pushmetrics.url .help
-pushmetrics.interval durationInterval for pushing metrics to every -pushmetrics.url (default 10s)help
-pushmetrics.url arrayOptional URL to push metrics exposed at /metrics page.help
-replicationFactor arrayHow many copies of every ingested sample is available across -storageNode nodes.help
-rpc.handshakeTimeout durationTimeout for RPC handshake between vminsert/vmselect and vmstorage.help
-search.cacheTimestampOffset durationThe maximum duration since the current time for response data, which is always queried from the original raw data, without using the response cache.help
-search.denyPartialResponseWhether to deny partial responses if a part of -storageNode instances fail to perform queries;help
-search.disableCacheWhether to disable response caching.help
-search.disableImplicitConversionWhether to return an error for queries that rely on implicit subquery conversions, see https://docs.victoriametrics.com/victoriametrics/metricsql/#subqueries for details.help
-search.graphiteMaxPointsPerSeries intThe maximum number of points per series Graphite render API can return (default 1000000)help
-search.graphiteStorageStep durationThe interval between datapoints stored in the database.help
-search.ignoreExtraFiltersAtLabelsAPIWhether to ignore match[], extra_filters[] and extra_label query args at /api/v1/labels and /api/v1/label/.../values .help
-search.inmemoryBufSizeBytes sizeSize for in-memory data blocks used during processing search requests.help
-search.latencyOffset durationThe time when data points become visible in query results after the collection.help
-search.logImplicitConversionWhether to log queries with implicit subquery conversions, see https://docs.victoriametrics.com/victoriametrics/metricsql/#subqueries for details.help
-search.logQueryMemoryUsage sizeLog query and increment vm_memory_intensive_queries_total metric each time the query requires more memory than specified by this flag.help
-search.logSlowQueryDuration durationLog queries with execution time exceeding this value.help
-search.maxBinaryOpPushdownLabelValues intThe maximum number of values for a label in the first expression that can be extracted as a common label filter and pushed down to the second expression in a binary operation.help
-search.maxConcurrentRequests intThe maximum number of concurrent search requests.help
-search.maxDeleteDuration durationThe maximum duration for /api/v1/admin/tsdb/delete_series call (default 5m0s)help
-search.maxDeleteSeries intThe maximum number of time series, which can be deleted using /api/v1/admin/tsdb/delete_series.help
-search.maxExportDuration durationThe maximum duration for /api/v1/export call (default 720h0m0s)help
-search.maxExportSeries intThe maximum number of time series, which can be returned from /api/v1/export* APIs.help
-search.maxFederateSeries intThe maximum number of time series, which can be returned from /federate.help
-search.maxGraphitePathExpressionLen intThe maximum length of pathExpression field in Graphite series.help
-search.maxGraphiteSeries intThe maximum number of time series, which can be scanned during queries to Graphite Render API.help
-search.maxGraphiteTagKeys intThe maximum number of tag keys returned from Graphite API, which returns tags.help
-search.maxGraphiteTagValues intThe maximum number of tag values returned from Graphite API, which returns tag values.help
-search.maxLabelsAPIDuration durationThe maximum duration for /api/v1/labels, /api/v1/label/.../values and /api/v1/series requests.help
-search.maxLabelsAPISeries intThe maximum number of time series, which could be scanned when searching for the matching time series at /api/v1/labels and /api/v1/label/.../values.help
-search.maxLookback durationSynonym to -query.lookback-delta from Prometheus.help
-search.maxMemoryPerQuery sizeThe maximum amounts of memory a single query may consume.help
-search.maxPointsPerTimeseries intThe maximum points per a single timeseries returned from /api/v1/query_range.help
-search.maxPointsSubqueryPerTimeseries intThe maximum number of points per series, which can be generated by subquery.help
-search.maxQueryDuration durationThe maximum duration for query execution.help
-search.maxQueryLen sizeThe maximum search query length in bytes Supports the following optional suffixes for size values: KB, MB, GB, TB, KiB, MiB, GiB, TiB (default 16384)help
-search.maxQueueDuration durationThe maximum time the request waits for execution when -search.maxConcurrentRequests limit is reached;help
-search.maxResponseSeries intThe maximum number of time series which can be returned from /api/v1/query and /api/v1/query_range .help
-search.maxSamplesPerQuery intThe maximum number of raw samples a single query can process across all time series.help
-search.maxSamplesPerSeries intThe maximum number of raw samples a single query can scan per each time series.help
-search.maxSeries intThe maximum number of time series, which can be returned from /api/v1/series.help
-search.maxSeriesPerAggrFunc intThe maximum number of time series an aggregate MetricsQL function can generate (default 1000000)help
-search.maxStalenessInterval durationThe maximum interval for staleness calculations.help
-search.maxStatusRequestDuration durationThe maximum duration for /api/v1/status/* requests (default 5m0s)help
-search.maxStepForPointsAdjustment durationThe maximum step when /api/v1/query_range handler adjusts points with timestamps closer than -search.latencyOffset to the current time.help
-search.maxTSDBStatusSeries intThe maximum number of time series, which can be processed during the call to /api/v1/status/tsdb.help
-search.maxTSDBStatusTopNSeries intThe maximum value of 'topN' argument that can be passed to /api/v1/status/tsdb API.help
-search.maxTagValueSuffixesPerSearch intThe maximum number of tag value suffixes returned from /metrics/find (default 100000)help
-search.maxUniqueTimeseries -search.maxUniqueTimeseriesThe maximum number of unique time series, which can be selected during /api/v1/query and /api/v1/query_range queries.help
-search.maxWorkersPerQuery intThe maximum number of CPU cores a single query can use.help
-search.minStalenessInterval durationThe minimum interval for staleness calculations.help
-search.minWindowForInstantRollupOptimization durationEnable cache-based optimization for repeated queries to /api/v1/query (aka instant queries), which contain rollup functions with lookbehind window exceeding the given value (default 3h0m0s)help
-search.noStaleMarkersSet this flag to true if the database doesn't contain Prometheus stale markers, so there is no need in spending additional CPU time on its handling.help
-search.queryStats.lastQueriesCount intQuery stats for /api/v1/status/top_queries is tracked on this number of last queries.help
-search.queryStats.minQueryDuration durationThe minimum duration for queries to track in query stats at /api/v1/status/top_queries.help
-search.queryStats.minQueryMemoryUsage sizeThe minimum memory bytes consumption for queries to track in query stats at /api/v1/status/top_queries.help
-search.resetCacheAuthKey valueOptional authKey for resetting rollup cache via /internal/resetRollupResultCache call.help
-search.resetRollupResultCacheOnStartupWhether to reset rollup result cache on startup.help
-search.setLookbackToStepWhether to fix lookback interval to 'step' query arg value.help
-search.skipSlowReplicasWhether to skip -replicationFactor - 1 slowest vmstorage nodes during querying.help
-search.tenantCacheExpireDuration durationExpiry duration for caching tenants in memory.help
-search.treatDotsAsIsInRegexpsWhether to treat dots as is in regexp label filters used in queries.help
-secret.flags arrayComma-separated list of flag names with secret values.help
-selectNode arrayA list of vmselect node addresses to propagate the '/internal/resetRollupResultCache' call.help
-storageNode arrayComma-separated addresses of vmstorage nodes;help
-tls arrayWhether to enable TLS for incoming HTTP requests at the given -httpListenAddr (aka https).help
-tlsCertFile arrayPath to file with TLS certificate for the corresponding -httpListenAddr if -tls is set.help
-tlsCipherSuites arrayOptional list of TLS cipher suites for incoming requests over HTTPS if -tls is set.help
-tlsKeyFile arrayPath to file with TLS key for the corresponding -httpListenAddr if -tls is set.help
-tlsMinVersion arrayOptional minimum TLS version to use for the corresponding -httpListenAddr if -tls is set.help
-versionShow VictoriaMetrics versionhelp
-vmalert.proxyURL stringOptional URL for proxying requests to vmalert.help
-vmstorageDialTimeout durationTimeout for establishing RPC connections from vmselect to vmstorage.help
-vmstorageUserTimeout durationNetwork timeout for RPC connections from vmselect to vmstorage (Linux only).help
-vmui.customDashboardsPath stringOptional path to vmui dashboards.help
-vmui.defaultTimezone stringThe default timezone to be used in vmui.help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.