uber-go / automaxprocs
Automatically set GOMAXPROCS to match Linux container CPU quota.
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing uber-go/automaxprocs in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewautomaxprocs [![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] Automatically set to match Linux container CPU quota. Installation 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 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 is higher than the CPU quota allocated, we also saw significant throttling: Once 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 . Contributing We encourage and support an active, healthy community of contributors — 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; even the automaxprocs maintainers don't have access, so don't hesitate to hold us to a high standard. Released under the MIT License. [doc-img]: https://godoc.org/go.uber.org/automaxprocs?status.svg [doc]: https://godoc.org/go.uber.org/automaxprocs [ci-img]: https://github.com/uber-go/automaxprocs/actions/workflows/go.yml/badge.svg [ci]: https://github.com/uber-go/automaxprocs/actions/workflows/go.yml [cov-img]: https://codecov.io/gh/uber-go/automaxprocs/branch/master/graph/badge.svg [cov]: https://codecov.io/gh/uber-go/automaxprocs