11.7. Load
The output of uptime can be used to determine both the
system load and uptime, but its output is exceptionally difficult to parse.
On a Linux system, this is made much easier to deal with by the existence
of the /proc/ file system.
cat /proc/loadavg will show you the one minute, five
minute, and fifteen minute load average, as well as a couple other numbers
I don't know the meaning of (anyone care to fill me in?).
Getting the load from /proc/loadavg is easy (thanks to Jerry Peek for
reminding me of this simple method): read one five fifteen rest
< /proc/loadavg. Just print the value you want.
For those without the /proc/
filesystem, you can use
uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\)/\1/" -e "s/ //g"
and replace "\1" with "\2" or "\3" depending if you want the one minute,
five minute, or fifteen minute load average. This is a remarkably
ugly regular expression: send suggestions if you have a better one.
Relative speed: 'uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\),
\(.*\...\)/\1/" -e "s/ //g" ' takes about 0.21 seconds on an unloaded 486SX25.