Re: decaying average for %CPU
From: Nick Piggin
Date: Fri Oct 17 2003 - 17:49:50 EST
Albert Cahalan wrote:
On Thu, 2003-10-16 at 23:21, Nick Piggin wrote:
Albert Cahalan wrote:
On Thu, 2003-10-16 at 22:56, Nick Piggin wrote:
Albert Cahalan wrote:
The UNIX standard requires that Linux provide
some measure of a process's "recent" CPU usage.
Right now, it isn't provided. You might run a
CPU hog for a year, stop it ("kill -STOP 42")
for a few hours, and see that "ps" is still
reporting 99.9% CPU usage. This is because the
kernel does not provide a decaying average.
I think the kernel provides enough info for userspace to do
the job, doesn't it?
I'm pretty sure not. Linux provides:
per-process start time
current time
per-process total (lifetime) CPU usage
units of time measurement (awkwardly)
boot time
But your userspace program can calculate deltas in the total
CPU statistics. Yep, its in /proc/stat.
Huh?
This isn't about "top", which displays % of CPU
time used over the refresh interval by reading
all the process data multiple times.
This is about programs like "ps", which read
everything and then spit out the output.
I hope you're not suggesting to read things
twice with a huge sleep(5) in the middle, or
to run some kind of daemon that polls /proc
once a second. That's far beyond horrid.
Yeah I spose it is.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/