-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make cpu.cfs_period_us configurable #4456
Comments
why is that ? my understanding would be that it should "refill" its quota and eventually stop throttling if it uses well below its hard limit? |
But then you'd be wasting resources to overcome an inefficient configuration of the cgroup. We've seen throttling constantly happening because the process's load spikes lasted more than the |
I'm going to lock this issue because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active issues. |
Nomad version
Nomad v0.8.1 (46aa11b)
Operating system and Environment details
Linux 4.4.0-111-generic x86_64 - Ubuntu 14.04
Issue
In #3825 and #3915 cpu hard limits have been introduced in the Docker driver. This is working great (thanks @jaininshah9!) but the inability to configure
cpu.cfs_period_us
is causing some bizarre behaviour.When a task has very short cpu spikes (in the order of a fraction of a tenth of a second) then it gets constantly throttled and sometimes this inhibits it from even starting before the timeout triggers. If it manages to boot, then the task gets constantly throttled even if the cpu usage is very low.
The solution for this is relatively easy: increase
cpu.cfs_period_us
and setcpu.cfs_quota_us
proportionally for the cgroup. This allows the short cpu spike to complete while leaving enough cpu time for everything else.Ideally, I'd like to have an option in the Docker driver to set
cpu.cfs_period_us
for the task's cgroup.Reproduction steps
Hard to tell: it depends on the application being contained. We may have found that an Elixir vm shows this behaviour but we don't have enough data to prove this yet.
The text was updated successfully, but these errors were encountered: