You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow sampling runner disk usage to reduce CPU (#8909)
Context:
buildbuddy-io/buildbuddy-internal#4789
If we sample runner disk usage with, say, 10% probability instead of
100%, then this should free up somewhere between 250m and 1000m CPU
capacity on each of the macs mentioned in the linked issue when the
executor is under high load.
maxRunnerCount=flag.Int("executor.runner_pool.max_runner_count", 0, "Maximum number of recycled RBE runners that can be pooled at once. Defaults to a value derived from estimated CPU usage, max RAM, allocated CPU, and allocated memory.")
58
60
// How big a runner's workspace is allowed to get before we decide that it
59
61
// can't be added to the pool and must be cleaned up instead.
60
-
maxRunnerDiskSizeBytes=flag.Int64("executor.runner_pool.max_runner_disk_size_bytes", 16e9, "Maximum disk size for a recycled runner; runners exceeding this threshold are not recycled. Defaults to 16GB.")
62
+
maxRunnerDiskSizeBytes=flag.Int64("executor.runner_pool.max_runner_disk_size_bytes", 16e9, "Maximum disk size for a recycled runner; runners exceeding this threshold are not recycled. Defaults to 16GB.")
63
+
runnerDiskUsageSampleRate=flag.Float64("executor.runner_pool.runner_disk_usage_sample_rate", 1.0, "Sample rate of runner disk usage. Setting this to a lower value can reduce CPU usage due to runner disk space checking, but may increase the risk of running out of disk space.")
61
64
// How much memory a runner is allowed to use before we decide that it
62
65
// can't be added to the pool and must be cleaned up instead.
63
66
maxRunnerMemoryUsageBytes=flag.Int64("executor.runner_pool.max_runner_memory_usage_bytes", 0, "Maximum memory usage for a recycled runner; runners exceeding this threshold are not recycled.")
0 commit comments