Date: Sat, 28 Feb 2004 13:06:35 +0800 From: Zhang Weiwu <zhangweiwu@realss.com> To: Erik Trulsson <ertr1013@student.uu.se> Cc: questions@freebsd.org Subject: Re: scheduling priority not working? Message-ID: <404021DB.6070009@realss.com> In-Reply-To: <20040228035629.GA66561@falcon.midgard.homeip.net> References: <Law11-F55YR6CsSTJUj00012ecb@hotmail.com> <20040228035629.GA66561@falcon.midgard.homeip.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Erik Trulsson wrote: >On Sat, Feb 28, 2004 at 11:37:51AM +0800, Zhang Weiwu wrote: > > >>Hello. I thought scheduling priority is the kind of absolute priority, that >>is only when the higher priority process don't ask for resource, can the >>lower priority process gets resource. If the higher priority process sucks, >>the lower priority process starvs. >> >>Now I have a old Pentium-mmx 166 box, running mpg321 fine. I wish to listen >>to music when recompile the kernel, so turn on the music, do: >>#nice make; >>I thought "nice make" use the resouce mpg321 left to it, but actually the >>music process is seriously disturbed, it begins to sound like .... >>terrible. >> >>So I don't realy understand the scheduling priority mechnism in FreeBSD? >> >> > >No, you dont quite understand the scheduling. >There are actually two different priorities that influence scheduling. >If you look at the output from top(1) you can see them in the columns >labeled 'PRI' and 'NICE'. The first one ('PRI') is the one that is >actually used to determine when a process gets to run. This is >dynamically adjusted by the system to make sure that all processes get >at least *some* CPU-time (so no process can be completely starved.) The >second ('NICE') is what is changed by the nice/renice commands and >affects how the actual priority is changed by the system. (Processes >with a high nice-value essentially gets their priority raised slowly >and lowered quickly .) > > I don't understand. I watched top(1) for some time, it seems the mpg321 process, having NICE=-20, keep constant PRI of 108~110, but other processes like 'yacc', 'cc', although running at NICE=4, comes out even at PRI=120, and almost keep that high until it finish its work in several seconds and quit, meanwhile the speaker keep producing broken music. If NICE=-20 processes cannot have more PRI than NICE=4, what's the use of NICE? >I run at a very similar box, but use mpg123 rather than mpg321, and I >can play music without significant disturbance. >You might wish to try mpg123 instead, in my experience it needs less >CPU-power than mpg321. > > My mpg123 hangs after copyright notice. It's another story though. >You could also try using a higher nice value for the make process. (i.e >run it with 'nice -19 make' or something like that.) > > I tried 'nice -n 19 make' which gives 'badly formed number' error. 'nice -19 make' made 'make' even greedy.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?404021DB.6070009>