In many cases, it’s inportant to determine the average load of the server, so one can decide if an expansion of resources is needed.
The easyest way to determine CPU load in Linux is to type the command uptime. It will show something like this:
[root@server ~]# uptime
14:01:20 up 1 day, 2:10, 1 user, load average: 2.25, 2.21, 2.24
I think that the start is clear, and load average is shown as the last 3 decimals at the end. Those are load averages for 1 cpu core for the last 5, 10 and 15 minutes, respectively.
So, what does it mean? It means that if you have a 2-core CPU (or two 1-core CPU’s) a 2.00 is the 100% load, 4.00 is the 100% load for a 4-core or 4-CPU system, etc. I think that part is clear.
Let me just add that you shouldn’t go to 100% load of the system, most system engineers go up to 70% (leave a 30% gap, so the CPU can catch up if it occasionaly gets overloaded) and then start thinking of upgrading
There’s another interesting question: what happens if my load goes upt to, like 6.34 in a 2-core CPU system (for example)?
Well, that means that your system is overloaded, more tham 300%. What actually happens here, is tha processes and CPU requests are starting to build a queue (similar to a mail queue), waiting to be processed. So, it’s ok to overload your system sometimes, like at nights, running clamav scans, etc, if you can keep the load under 100% when that process ends, so the CPU can catch up with the requests waiting in the queue.
Otherwise, your CPU will not be able to catch up the it will result in a system failure.