> > what's the best way to set the process priority (2.0.x kernel)
> > for a process which should *not* compete (or as less as possible)
> > with user processes running with "nice 19" ?
>
> Could you do "nice 20"?
nice 20 is the same as nice 19 (check ps output).
> Regardless, everything should compete equally if on
> the same niceness level. if the user doesn't want competitors to win the
> timeslice battle, they shouldn't nice themselves down that much.
I want to have 3 possible classes of applications/processes running:
1) interactice work
2) background comptations & batch jobs
3) idle task
and I'd like that the higher priority get *every* CPU time needed and
they shouldn't need to compete with lower priorities at all (some kind of
fixed priority scheduling).
running 3 jobs with nice 0, 10 and 19 give the following distribution
of CPU time:
PID USER PRI NI SIZE RES SHRD STAT %CPU %MEM TIME COMMAND
480 root 17 0 816 56 28 R 61.6 0.1 0:37 idle
479 root 18 10 816 56 28 R N 31.9 0.1 0:19 idle
478 root 20 19 816 56 28 R N 5.0 0.1 0:03 idle
so the interactive job looses ~40% cpu time due to background jobs.
only running background and idle jon (nice 10 and 19) gives
PID USER PRI NI SIZE RES SHRD STAT %CPU %MEM TIME COMMAND
483 root 18 10 816 56 28 R N 85.9 0.1 0:52 idle
482 root 20 19 816 56 28 R N 12.5 0.1 0:08 idle
so the idle task still uses 12% CPU while it shouldn't as there are
more important jobs around...
Harald
-- All SCSI disks will from now on ___ _____ be required to send an email notice 0--,| /OOOOOOO\ 24 hours prior to complete hardware failure! <_/ / /OOOOOOOOOOO\ \ \/OOOOOOOOOOOOOOO\ \ OOOOOOOOOOOOOOOOO|// Harald Koenig, \/\/\/\/\/\/\/\/\/ Inst.f.Theoret.Astrophysik // / \\ \ koenig@tat.physik.uni-tuebingen.de ^^^^^ ^^^^^