-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Be ionice
on unix
#5569
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
Comments
I'm happy to implement this, just want to see if there were any reasons it isn't a good idea first. |
I don't think that we'll want this to be the default because it runs the risk of making builds slower by default, but having it as a configuration option seems reasonable |
This should at least be behind a config-option so the default behavior remains the expected behavior, which is niceness 0. At least on Linux, you are always able to automatically move cargo into its own control group and set its CPU-, RAM-, and IO-priority. Sure it's more complicated and not built-in, yet there is a strong case to be made that |
Interesting! Perhaps we should add instructions of how to do that to Cargo docs? I feel that "I run cargo build on my dev laptop while also using a browser and IDE" is a common use-case, so many people might want to reduce Cargo's priority, even if they don't realize that it is possible. |
Yeah I think documentation may be the best way to go here.
…On Tue, May 29, 2018 at 12:32 PM, Aleksey Kladov ***@***.***> wrote:
At least on Linux, you are always able to automatically move cargo into
its own control group and set its CPU-, RAM-, and IO-priorit
Interesting! Perhaps we should add instructions of how to do that to Cargo
docs? I feel that "I run cargo build on my dev laptop while also using a
browser and IDE" is a common use-case, so many people might want to reduce
Cargo's priority, even if they don't realize that it is possible.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#5569 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABU-XkYWCyvf_z-UJHOIjokB9_YZ365xks5t3THEgaJpZM4UN_KU>
.
|
@matklad, let me actually check on it. There once was a control-groups management daemon which by now seems to have been replaced by |
@derekdreery I'm the linked post from that thread. Just to be clear I said IONICE """ionice - set or get process I/O scheduling class and priority""" This is much more effective for me with less negative impact on the build. Linux desktop io scheduling needs a bit more help then process scheduling but ymmv. |
@hammerandtongs Updated. |
I've looked into this again and it seems that the daemon to place processes into control groups automatically has been deprecated without being replaced. The way to go seems to be using
This creates a new Relevant documentation for |
When building on unix, I don't think there would be any harm setting the i/o nice value, and it may improve UX in some circumstances. From rustc-perf#232.
Edit The original post meant specifically the i/o scheduling nice, not the general process nice.
The text was updated successfully, but these errors were encountered: