Does anyone here understand cgroups?
I have to put up with running some really quite intensive processing
on an ubuntu machine (running 20.04 LTS, on the basis of uname -a)
that I do not admin (or have any sudo privileges). You may assume I
have zero influence over those who do admin it.
Just as some context, generally each processing run - managed by a
bash script - creates as many background jobs (via &, but not nohup)
as I need to saturate the cpu cores. Some processing is run manually
from a terminal, some automatically from cron.
Once upon a time I could use nice (and/or renice) to change priorities,
so that things I wanted finished sooner would run faster than ones I
was happy to wait for; but if the fast ones finished, I didn't have to
waste any cpu time as the others jobs could take up the slack.
Now we have "cgroups", which no doubt has many advantages, but seems
imo bizarrely complicated. And although I can still "nice" processes,
it never makes any difference at all -- not even between a set of jobs created by the same shell or processing script, which I would have
thought of as sensible, and as seems to be implied by some doco as what should happen (but ime does not).
Unfortunately, despite several attempts, I can't make head or tail of
what to do (if anything can be done) from any of: the cgroups
documentation, various blog posts, posts on stackoveflow/exchange, "askubuntu", etc. Many of the what-to-do" "explanations" seem to
involve being root and/or sudo; and the most useful looking questions
I have found are without answers.
Does anyone here understand cgroups?
Once upon a time I could use nice (and/or renice) to change priorities,
so that things I wanted finished sooner would run faster than ones I
was happy to wait for; but if the fast ones finished, I didn't have to
waste any cpu time as the others jobs could take up the slack.
Now we have "cgroups", which no doubt has many advantages, but seems
imo bizarrely complicated. And although I can still "nice" processes,
it never makes any difference at all -- not even between a set of jobs created by the same shell or processing script, which I would have
thought of as sensible, and as seems to be implied by some doco as what should happen (but ime does not).
Can anyone help?
Sysop: | Luis Silva |
---|---|
Location: | Lisbon |
Users: | 763 |
Nodes: | 10 (0 / 10) |
Uptime: | 180:10:17 |
Calls: | 111 |
Files: | 46,971 |
Messages: | 11,239 |