Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Automatically set GOMAXPROCS to match Linux container CPU quota.

License

NotificationsYou must be signed in to change notification settings

uber-go/automaxprocs

Automatically setGOMAXPROCS to match Linux container CPU quota.

Installation

go get -u go.uber.org/automaxprocs

Quick Start

import _"go.uber.org/automaxprocs"funcmain() {// Your application logic here.}

Performance

Data measured from Uber's internal load balancer. We ran the load balancer with 200% CPU quota (i.e., 2 cores):

GOMAXPROCSRPSP50 (ms)P99.9 (ms)
128,893.181.4619.70
2 (equal to quota)44,715.070.8426.38
344,212.930.6630.07
441,071.150.5742.94
833,111.690.4364.32
Default (24)22,191.400.4576.19

WhenGOMAXPROCS is increased above the CPU quota, we see P50 decrease slightly, but see significant increases to P99. We also see that the total RPS handled also decreases.

WhenGOMAXPROCS is higher than the CPU quota allocated, we also saw significant throttling:

$ cat /sys/fs/cgroup/cpu,cpuacct/system.slice/[...]/cpu.statnr_periods 42227334nr_throttled 131923throttled_time 88613212216618

OnceGOMAXPROCS was reduced to match the CPU quota, we saw no CPU throttling.

Development Status: Stable

All APIs are finalized, and no breaking changes will be made in the 1.x seriesof releases. Users of semver-aware dependency management systems should pinautomaxprocs to^1.

Contributing

We encourage and support an active, healthy community of contributors —including you! Details are in thecontribution guide andthecode of conduct. The automaxprocs maintainers keepan eye on issues and pull requests, but you can also report any negativeconduct tooss-conduct@uber.com. That email list is a private, safe space;even the automaxprocs maintainers don't have access, so don't hesitate to holdus to a high standard.


Released under theMIT License.

About

Automatically set GOMAXPROCS to match Linux container CPU quota.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors26


[8]ページ先頭

©2009-2025 Movatter.jp