What is the load average in Linux, and what do the three load average numbers provided by the `uptime` command represent? How should these values be interpreted in terms of system performance?
Load average is the average number of processes currently ready to run. It is an estimate of the number of processes that are capable of using the CPU at any given time- this includes processes that are running and those that are waiting for a chance to use the CPU. The three load average numbers provided by uptime are load averages for past 1 minute, 5 minutes and 15 minutes respectively. Through these values we can find out how much load is there on the system currently. A value closer to 0 means the system is mostly idle or not much of the programs are being used on it. A load average of 1 means one core of CPU is being used throughout the runtime, while that of 2 means 2 cores and so on so forth.
Load average is the average number of processes currently ready to run. It is an estimate of the number of the processes that are capable of using the CPU at any given time - this includes processes that are running and those that are waiting for a chance to use the cpu.
When thinking about a load average, keep in mind that most processes on your system are usually waiting for input(from the keyboard, mouse or network etc) meaning they are not ready to run and shouldn't contribute anything to the load average. only processes that actually doing something affect the load average.
The three load average numbers provided by the `uptime` command represent load averages for past 1 minute, 5 minutes and 15 minutes.
A load average of 0 means your processor is not being challenged. if a load average goes up to around 1 that means single process is probably using the cpu nearly all of the time.
if we have two cores, a load average of 1 means that one of the cores is likely active at any given time and load average of 2 means that both cores have enough to do all of the time.