Add -C option for CPU quota limit on build containers#143
Merged
kpcyrd merged 1 commit intoarchlinux:masterfrom Jan 19, 2026
Merged
Add -C option for CPU quota limit on build containers#143kpcyrd merged 1 commit intoarchlinux:masterfrom
kpcyrd merged 1 commit intoarchlinux:masterfrom
Conversation
Similar to the existing -M option for memory limits, this adds a -C option to set a CPU quota on the systemd-nspawn build containers. This is useful for rebuilderd setups where you want to limit CPU usage to prevent resource contention with other services on the same machine. Usage: repro -C 500% package.pkg.tar.zst # Limit to 5 CPU cores repro -C 1200% -M 24G package.pkg.tar.zst # 12 cores, 24GB RAM The CPU quota is passed to systemd-nspawn via --property="CPUQuota=...", which sets the cgroup cpu.max limit on the container. Environment variable MAX_CPU can also be used (e.g., in systemd service files): Environment=MAX_CPU=500%
Contributor
Author
Foxboron
reviewed
Dec 25, 2025
Member
Foxboron
left a comment
There was a problem hiding this comment.
LGTM, but generally I suspect we should figure out if naming the systemd-nspawn session and/or advicing people to run this under systemd-run is better then trying to include all the different systemd options into repro.sh.
Contributor
Author
|
Thanks! Yep, that makes sense for the future. If no other comments - would be great to have it merged and potential new release :) |
Contributor
Author
kpcyrd
approved these changes
Jan 19, 2026
Member
|
This change has been published as |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a
-Coption to set a CPU quota on systemd-nspawn build containers, similar to the existing-Moption for memory limits.Motivation
When running rebuilderd on a shared server, it's useful to limit CPU usage to prevent resource contention with other services. The existing
-Moption provides memory limits, but there's no equivalent for CPU.Changes
MAX_CPUenvironment variable support-C <value>command-line option (e.g.,-C 500%for 5 cores)--property="CPUQuota=..."Usage
Testing
Tested on Arch Linux with rebuilderd:
--property=CPUQuota=...argumentcpu.maxis correctly set (e.g.,500000 100000for 500%)