Nice command not working....

Talk about other linux distributions, or even other OSes.
Post Reply
User avatar
witek
Posts: 233
Joined: 16. Nov 2009, 13:41
Location: Poland.Łódź

Nice command not working....

Post by witek »

I`m testing latest Fedora release and I`m just trying to schedule two CPU consuming tasks. I usually do this by setting higher niceness of the process I want to consume less CPU time.

But now I`m surprised as nice seems to not work. I can see via the top command that both processes are using exactly the same CPU although their niceness is quite different (-1 vs. 19). I `ve encountered such problem before in Fedora-derived Fuduntu and now in Fedora.

Some say this might be related to cgroups (this miraculous kernel patch for responsiveness). Salix still honours niceness and I`m asking whether this cgroup patch is enabled in Salix 13.37?
[EDIT] It looks cgroups are not in Salix as I cannot find commands starting with 'cg' like cgcreate. Anyway if the future of linux is without 'nice' command I`m not going to like it :(
User avatar
gapan
Salix Wizard
Posts: 6238
Joined: 6. Jun 2009, 17:40

Re: Nice command not working....

Post by gapan »

No, it isn't.
Image
Image
User avatar
witek
Posts: 233
Joined: 16. Nov 2009, 13:41
Location: Poland.Łódź

Re: Nice command not working....

Post by witek »

It looks if cgroups go into mainstream kernel then 'nice' is no longer valid :(
Strangely, there is very little information on replacement of nice in the web, here is best what I found, this might be useful soon:
https://wiki.archlinux.org/index.php/Cgroups
Shador
Posts: 1295
Joined: 11. Jun 2009, 14:04
Location: Bavaria

Re: Nice command not working....

Post by Shador »

To be more specific:
The Slackware kernel at least in 13.37 -- I didn't check older versions -- has cgroups enabled.
This functionality is not to be confused with the autogroup patch, which is the actual "miracle" patch. But the autogroup patch is not in vanilla kernels before 2.6.38.

I guess they're both getting the same share because they can use only one core in a multi-core system. When they don't get in their way, i.e. require ressources from the same core, there's no reason for scheduling.
Here scheduling with nice seems to work. Tested with 2 endless loops in 2 different bash sessions and some other processes running to fill my 4 cores up. The 0 nice bash process is getting pretty much always 100%, while the 19 nice bash process is always a bit below.
Image
Post Reply