Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Sep 2006 11:43:40 -0500 (CDT)
From:      Philip Hallstrom <>
To:        Brett Glass <>
Subject:   Re: Best way to "renice" a process by name?
Message-ID:  <>
In-Reply-To: <>
References:  <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
> I'm working with a machine that's operating as a NAT router and recursive DNS 
> resolver and is also running the Squid disk cache. Squid, in turn, spawns the 
> "diskd" daemon, which does disk accesses on behalf of Squid. When Squid 
> spawns diskd, it gives it a priority level 6 greater than itself. In other 
> words, if Squid is launched normally, it gets a priority of 2 (normal) while 
> diskd gets a priority of -4 (very high).
> Unfortunately, diskd is not an efficient user of CPU (it seems to be polling 
> for I/O completion) and is starving other processes on the machine (for 
> example, natd) which need to operate in near real time.
> I'd like to keep diskd running on that machine, because having disk access 
> done by a separate process is very efficient -- even more so if the system 
> uses SMP. But I need to re-prioritize Squid and diskd to keep the rest of the 
> machine functional. In particular, I'd like to nice Squid down by 1 (so that 
> natd and named have priority over it) and have diskd run at standard priority 
> (so that it can't starve other processes). This will keep diskd at a higher 
> priority than Squid itself, which in turn will hopefully prevent message 
> queues from overflowing.
> Reducing Squid's priority is simple; I can just edit the script that starts 
> Squid so that /usr/bin/nice is used to invoke it. But taming diskd is more 
> difficult, because diskd is a child process of Squid. I have to make sure it 
> has started (which may require a delay loop), find out its PID, and then 
> "renice" it by whatever increment is required to get it to the system's 
> standard priority (2 by convention). Is there a "renice by name" utility for 
> FreeBSD (sort of an equivalent of "killall")? I could gin one up, but since 
> this seems like something that people would want to do frequently, find it 
> hard to believe that someone hasn't already written one.

Google is your friend :)

very first link.

Want to link to this message? Use this URL: <>