Yes, I know we can use uptime command to find out system load average. If you try to use uptime command in script, you know how difficult it is to get correct load average. As the time since the last, reboot moves from minutes, to hours, and an even day after system rebooted. Just time uptime
$ uptime
Output:
1:09:01 up 29 min, 1 user, load average: 0.00, 0.00, 0.00
$ uptime
Output:
2:13AM up 34 days, 16:15, 36 users, load averages: 1.56, 1.89, 2.06
Traditionally many UNIX administrators used sed and other shell command in scripting (over 5-10 line of code) to get correct value of load average. Here is my own modified hack to save time
$ uptime | awk -F'load averages:' '{ print $2 }'
Output:
0.01, 0.01, 0.00
Note that command works on all variant of UNIX.
Shell Script
=> See chksysload.bash script to notify admin user if script load crossed certain limit and if so send them an email alert.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 7 comments… read them below or add one }
This information is wrong. The correct command would be:
uptime | awk '{print $10 " " $11 " " $12}'The above does not work on Solaris 8.
stefan. his example clearly shows that that just doesn’t work all the time. specifically when uptime is
Actually it DOES work. I found that the ‘s’ in ‘averges’ should not be there. Otherwise it works like a charm!
Yes, U r right Szy, it works and there should not be ‘s’ in average… It worked fine on AIX. thanks
Actually This will work fine, cause there will be different output based on u r last reboot.
# Find the correct field to extract based on how long
# the system has been up, or since the last reboot.
if $(uptime | grep day | grep min >/dev/null)
then
FIELD=11
elif $(uptime | grep day | grep hrs >/dev/null)
then
FIELD=11
elif $(uptime | grep day >/dev/null)
then
FIELD=10
elif $(uptime | grep min >/dev/null)
then
FIELD=9
else
FIELD=8
fi
Anybody care to explain what these load average figures mean? Is there a unit or is there anything scalely comparable to them? For example, I have:
21:39:33 up 10:45, 5 users, load average: 9.86, 9.68, 10.64
What do 9.86, 9.68 and 10.64 mean here?
It means, load averages of CPU in last 1, 5 and 15 mins…