Make automatic updates nicer#4676
Conversation
|
Hi @morgaesis. Thanks for your PR. I'm waiting for a coreos member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
bc149f6 to
7675343
Compare
|
|
||
| [Service] | ||
| Type=simple | ||
| Nice=10 |
There was a problem hiding this comment.
Unfortunately this won't do what you want here, because ultimately this just calls into rpm-ostreed.service.
I think by default one would need to use systemd drop-ins for rpm-ostreed.service locally to have the desired effect.
In theory perhaps though, we could better differentiate "background updates" from "foreground activity" and the daemon could automatically lower its priority.
Hmm. Possibly there's a way we could inherit niceness and other properties from this unit.
There was a problem hiding this comment.
Wow, you're quick to reply 😮
Isn't the systemd service the right place to configure this? The service has a key made for this. Configuring "niceness" in the process itself is extra complexity, which would probably just end up calling nicectl from within anyway...
There was a problem hiding this comment.
I moved the niceness key to the daemon. When would you want rpm-ostreed to run at 0 niceness? It's such a heavy command, that I would always like it to be nice. Running the command manually or when automatic updates are applied, my system stutters.
There was a problem hiding this comment.
Does this really help you though?
I suspect the main problem is not CPU usage but I/O bandwidth for most people.
There was a problem hiding this comment.
Indeed, for the most part. There are still CPU bound parts
Writing OSTree commit: rpm-ostree start-daemon is CPU intensive (1-2 cores, i guess)
When I tried adding a new package, rpm-ostree start-daemon was using ~180% CPU.
Then, Nice is maybe not the right solution. I just want my system to run smoothly when the updates randomly start.
There was a problem hiding this comment.
Or what.... man pages suggest that setting nice for the process also makes the I/O nice
https://linux.die.net/man/1/ionice
|
I think what would make me most comfortable here is a design where the automatic update path only has Basically I'm less certain that we want to default to doing |
Thank you for contributing to rpm-ostree.
If you are adding functionality to tree composes, please add
a corresponding test to the compose-test suite. Similarly,
if adding a client-facing feature, consider the vmcheck
suite. Regressions fixes are also great candidates for new
tests.
If you're not sure where or how to add tests, don't hesitate
to ask for help from the maintainers.
Cheers!