* Making nice niser for system hogging programs
@ 2005-10-02 2:26 Marc Perkel
2005-10-02 3:07 ` Con Kolivas
0 siblings, 1 reply; 6+ messages in thread
From: Marc Perkel @ 2005-10-02 2:26 UTC (permalink / raw)
To: linux-kernel
Just a thought -----
Programs like cp -a /bigdir /backup and rsync usually bring the server
to a crawl no matter how much "nice" you put on them. Is there any way
to make "nice" smarter in that it limits io as well as processor usage?
If cp and rsyne ran a little slower IO wise then everything else could
run too.
--
Marc Perkel - marc@perkel.com
Spam Filter: http://www.junkemailfilter.com
My Blog: http://marc.perkel.com
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: Making nice niser for system hogging programs 2005-10-02 2:26 Making nice niser for system hogging programs Marc Perkel @ 2005-10-02 3:07 ` Con Kolivas 2005-10-02 3:18 ` Marc Perkel 2005-10-04 21:26 ` Matt Helsley 0 siblings, 2 replies; 6+ messages in thread From: Con Kolivas @ 2005-10-02 3:07 UTC (permalink / raw) To: Marc Perkel; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 707 bytes --] On Sun, 2 Oct 2005 12:26, Marc Perkel wrote: > Just a thought ----- > > Programs like cp -a /bigdir /backup and rsync usually bring the server > to a crawl no matter how much "nice" you put on them. Is there any way > to make "nice" smarter in that it limits io as well as processor usage? > If cp and rsyne ran a little slower IO wise then everything else could > run too. The latest cfq io scheduler supports io nice levels. By default it links the io nice levels to the cpu nice levels so if you use cfq and set your file commands nice 19 they will use as little io priority as possible. Note this only works on the read side but that makes a dramatic difference already. Cheers Con [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Making nice niser for system hogging programs 2005-10-02 3:07 ` Con Kolivas @ 2005-10-02 3:18 ` Marc Perkel 2005-10-02 3:38 ` Con Kolivas 2005-10-04 21:26 ` Matt Helsley 1 sibling, 1 reply; 6+ messages in thread From: Marc Perkel @ 2005-10-02 3:18 UTC (permalink / raw) To: linux-kernel Con Kolivas wrote: >On Sun, 2 Oct 2005 12:26, Marc Perkel wrote: > > >>Just a thought ----- >> >>Programs like cp -a /bigdir /backup and rsync usually bring the server >>to a crawl no matter how much "nice" you put on them. Is there any way >>to make "nice" smarter in that it limits io as well as processor usage? >>If cp and rsyne ran a little slower IO wise then everything else could >>run too. >> >> > >The latest cfq io scheduler supports io nice levels. By default it links the >io nice levels to the cpu nice levels so if you use cfq and set your file >commands nice 19 they will use as little io priority as possible. Note this >only works on the read side but that makes a dramatic difference already. > >Cheers >Con > > Kewl - so - what version is it in? -- Marc Perkel - marc@perkel.com Spam Filter: http://www.junkemailfilter.com My Blog: http://marc.perkel.com ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Making nice niser for system hogging programs 2005-10-02 3:18 ` Marc Perkel @ 2005-10-02 3:38 ` Con Kolivas 0 siblings, 0 replies; 6+ messages in thread From: Con Kolivas @ 2005-10-02 3:38 UTC (permalink / raw) To: Marc Perkel; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 1327 bytes --] On Sun, 2 Oct 2005 13:18, Marc Perkel wrote: > Con Kolivas wrote: > >On Sun, 2 Oct 2005 12:26, Marc Perkel wrote: > >>Just a thought ----- > >> > >>Programs like cp -a /bigdir /backup and rsync usually bring the server > >>to a crawl no matter how much "nice" you put on them. Is there any way > >>to make "nice" smarter in that it limits io as well as processor usage? > >>If cp and rsyne ran a little slower IO wise then everything else could > >>run too. > > > >The latest cfq io scheduler supports io nice levels. By default it links > > the io nice levels to the cpu nice levels so if you use cfq and set your > > file commands nice 19 they will use as little io priority as possible. > > Note this only works on the read side but that makes a dramatic > > difference already. > > Kewl - so - what version is it in? 2.6.13 already has it. Note that the io priority is only inherited when a process first starts so doing renice to something already running will only change the cpu nice, not the ionice. You can do that on the fly using the ionice application. If you look in the kernel source in Documentation/block/ioprio.txt you'll find the source to ionice.c Cheers, Con P.S. It is considered routine to reply-to-all when posting to lkml and not stripping anybody on the cc list. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Making nice niser for system hogging programs 2005-10-02 3:07 ` Con Kolivas 2005-10-02 3:18 ` Marc Perkel @ 2005-10-04 21:26 ` Matt Helsley 2005-10-05 10:02 ` Jens Axboe 1 sibling, 1 reply; 6+ messages in thread From: Matt Helsley @ 2005-10-04 21:26 UTC (permalink / raw) To: Con Kolivas; +Cc: Marc Perkel, LKML, Shailabh Nagar On Sun, 2005-10-02 at 13:07 +1000, Con Kolivas wrote: > On Sun, 2 Oct 2005 12:26, Marc Perkel wrote: > > Just a thought ----- > > > > Programs like cp -a /bigdir /backup and rsync usually bring the server > > to a crawl no matter how much "nice" you put on them. Is there any way > > to make "nice" smarter in that it limits io as well as processor usage? > > If cp and rsyne ran a little slower IO wise then everything else could > > run too. > > The latest cfq io scheduler supports io nice levels. By default it links the > io nice levels to the cpu nice levels so if you use cfq and set your file > commands nice 19 they will use as little io priority as possible. Note this > only works on the read side but that makes a dramatic difference already. > > Cheers > Con If you want a way to assign io priorities without relying on process inheritance and (re)nice you might find CKRM, with it's cfq-based IO controller, useful. Basically you create a set of classes that group tasks and give an appropriate share of IO performance to tasks in that class. As processes get created CKRM will assign tasks to the IO classes based on a set of rules. You can run commands like: mkdir /rcfs/taskclass/makin_copies echo 'res=io,guarantee=20' > /rcfs/taskclass/makin_copies/shares echo 'path=/usr/bin/rsync,class=makin_copies' > /rcfs/ce/rsync_rule echo 'path=/bin/cp,class=makin_copies' > /rcfs/ce/cp_rule to set this up. This should make CKRM useful for those unwilling to become full-time administrators just to run their own desktops. Cheers, -Matt Helsley ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Making nice niser for system hogging programs 2005-10-04 21:26 ` Matt Helsley @ 2005-10-05 10:02 ` Jens Axboe 0 siblings, 0 replies; 6+ messages in thread From: Jens Axboe @ 2005-10-05 10:02 UTC (permalink / raw) To: Matt Helsley; +Cc: Con Kolivas, Marc Perkel, LKML, Shailabh Nagar On Tue, Oct 04 2005, Matt Helsley wrote: > On Sun, 2005-10-02 at 13:07 +1000, Con Kolivas wrote: > > On Sun, 2 Oct 2005 12:26, Marc Perkel wrote: > > > Just a thought ----- > > > > > > Programs like cp -a /bigdir /backup and rsync usually bring the server > > > to a crawl no matter how much "nice" you put on them. Is there any way > > > to make "nice" smarter in that it limits io as well as processor usage? > > > If cp and rsyne ran a little slower IO wise then everything else could > > > run too. > > > > The latest cfq io scheduler supports io nice levels. By default it links the > > io nice levels to the cpu nice levels so if you use cfq and set your file > > commands nice 19 they will use as little io priority as possible. Note this > > only works on the read side but that makes a dramatic difference already. > > > > Cheers > > Con > > If you want a way to assign io priorities without relying on process > inheritance and (re)nice you might find CKRM, with it's cfq-based IO > controller, useful. > > Basically you create a set of classes that group tasks and give an > appropriate share of IO performance to tasks in that class. As processes > get created CKRM will assign tasks to the IO classes based on a set of > rules. You can run commands like: > > mkdir /rcfs/taskclass/makin_copies > echo 'res=io,guarantee=20' > /rcfs/taskclass/makin_copies/shares > echo 'path=/usr/bin/rsync,class=makin_copies' > /rcfs/ce/rsync_rule > echo 'path=/bin/cp,class=makin_copies' > /rcfs/ce/cp_rule > > to set this up. This should make CKRM useful for those unwilling to > become full-time administrators just to run their own desktops. Has the CKRM io controller been updated to 2.6.13 level CFQ, or is it still using the very basic per-request based io sharing? -- Jens Axboe ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-10-05 10:02 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-10-02 2:26 Making nice niser for system hogging programs Marc Perkel 2005-10-02 3:07 ` Con Kolivas 2005-10-02 3:18 ` Marc Perkel 2005-10-02 3:38 ` Con Kolivas 2005-10-04 21:26 ` Matt Helsley 2005-10-05 10:02 ` Jens Axboe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox