If We Run Top Command, We Can See a Parameter Load Average. What is Load Average in GNU/Linux? Why we need to know this load average for a server? Often the visitors search on our website with the search phrase what is load Average in Linux, the right word is GNU/Linux not Linux. Linux is the Linux Kernel. The GNU softwares like awk is the GNU part, the another free software part is Linux. It is too primitive way to encourage to use GNU/Linux because we are talking Load Average.
What is Load Average in GNU/Linux?
We can get the parameter by running
uptime etc. commands. It usually appears in this way :
load averages: 0.69 0.91 1.07
Historically, in UNIX systems, system load is the measurement of the amount of computational work which a computer system is performing. Load average represents the average system load over a period of time. 3 numbers represent the system load during the last 1, 5, and 15 minute periods. Load average is not a UNIX command in that sense. It is an embedded metric to check the system resource consumption. Load average is not a simple” mathematical average but a exponentially weighted moving average. It is quite difficult topic if someone goes to the depth.
Load Average of 1.0 means, exactly the processor is concurrently demanding CPU attention what the maximum capacity it is better to be allowed. In general, load average measures the number of active processes at a given time. Not 100% of CPU usage in that sense. Generally it is taken that
0.70 is a good number. So our this one :
load averages: 0.69 0.91 1.07
demands slight investigation. If it was of server, we should check what daemons are running. Now, these 1.00 = near 100% is for single core processor. 5.00 = danger.
But the load average we copy pasted is from a computer with an hexa core processor. Simply, you need to multiply the “safer” load average number by the number of cores to get somewhat right value. In other words, what the value you’ll get divided by number of cores will give you the “true” load average value which we normally use – unification with single core system.
If the example values were from a single core processor powered computer, over the last 1 minutes the CPU idled for around 28% of the time (0.69). An example value of 1.89 means,
(1.00-1.89= [0.89]) 0.89 processes had to wait for a turn for a single core CPU system.
On GNU/Linux, load average is not calculated on each clock tick, it is driven by a variable value that is based on the Hz frequency setting which is tested on each clock tick. This Hz is a variable and is the pulse rate of particular Linux kernel’s activity. 1 Hz = 1 clock tick; 10ms (default).
top command does not calculate load average itself but reads the load average from the
What is Load Average in GNU/Linux Which is a Virtual Instance?
The above were for a physical machine. The basic is the same like above but there is a need of calculation of cost effectiveness. If we have 8 CPU cores allocated to a virtual instance which the system is not using, there will wasting of resources. These are needed for calculation of better resource utilization. Page loading time, time to first byte loading can be good indicators of a web server. The servers are for a particular purpose, calculation should be aligned with the need and expectation of extra load.
The topic load average is no easy, but possibly you got an idea around the topic which possibly will help to calculate how many cores you will use for a particular situation. The process of running a web server with high load with some caching system, is not exactly quite easy. These situations demand the experts.