{"repo":"uber-go/automaxprocs","free":true,"listed":false,"github":"https://github.com/uber-go/automaxprocs","clone":"git clone https://github.com/uber-go/automaxprocs.git","description":"Automatically set GOMAXPROCS to match Linux container CPU quota.","language":"Go","stars":4848,"topics":["go","golang","gomaxprocs","container","cpu"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"automaxprocs [![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] Automatically set GOMAXPROCS to match Linux container CPU quota. Installation go get -u go.uber.org/automaxprocs Quick Start Performance Data measured from Uber's internal load balancer. We ran the load balancer with 200% CPU quota (i.e., 2 cores): GOMAXPROCS RPS P50 (ms) P99.9 (ms) ------------------ --------- -------- ---------- 1 28,893.18 1.46 19.70 2 (equal to quota) 44,715.07 0.84 26.38 3 44,212.93 0.66 30.07 4 41,071.15 0.57 42.94 8 33,111.69 0.43 64.32 Default (24) 22,191.40 0.45 76.19 When GOMAXPROCS 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. When GOMAXPROCS is higher than the CPU quota allocated, we also saw significant throttling: Once GOMAXPROCS 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 series of releases. Users of semver-aware dependency management systems should pin automaxprocs to ^1 . Contributing We encourage and support an active, healthy community of contributors &mdash; including you! Details are in the contribution guide and the code of conduct. The automaxprocs maintainers keep an eye on issues and pull requests, but you can also report any negative conduct to oss-conduct@uber.com. That email list is a private, safe space; e","default_branch":null,"files":null,"tree":[],"storefront":"/r/uber-go","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/uber-go/automaxprocs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}