11

I have a 1 core CPU installed on my PC. Sometimes, uptime shows load >1. How is this possible and what does this mean?

EDIT: The values go up to 2.4

18

Load is not equal to CPU usage. It is basically an indicator how many processes are waiting to be executed.

Some helpful links:

  • Oh, ok, that makes sense. Is there a way to get CPU usage, not load? – Richard Rodriguez Mar 4 '14 at 20:25
  • Well generally you could have many CPUs. One could be totally busy and the other just idling. Have a look at htop for a nice "graphical" overview. – michas Mar 4 '14 at 20:33
  • 2
    this is incorrect. The load average is a metric for how many processes are ready to be executed. This includes processes that are waiting, but also processes that are currently executing. So if the load average is 1, it means that on average (for the given time period) one CPU was in use; if it is two, that means that on average, two CPUs were in use. As such, a particular load average for a single-CPU system is not the same thing as the same load average for a multi-core system. – Wouter Verhelst Mar 6 '17 at 11:11
5

uptime shows system load (not exactly CPU usage), which is described in man uptime as follows:

System load averages is the average number of processes that are either in a runnable or uninterruptable state. A process in a runnable state is either using the CPU or waiting to use the CPU. A process in uninterruptable state is waiting for some I/O access, eg waiting for disk. The averages are taken over the three time intervals. Load averages are not normalized for the number of CPUs in a system, so a load average of 1 means a single CPU system is loaded all the time while on a 4 CPU system it means it was idle 75% of the time.

As long as the load is less than the number of CPU cores you have, it should be fine. If it gets above, it means that your system is not able to cope with its workload "real time". Thus, some processes need to wait to get CPU time (or IO access). A waiting line is created.

If you have a 2.7 load it means that on average (during the last 1, 5 or 15 minutes, depending on the value you look at), 2.7 processes are trying to execute in parallel, but you only have 1 core, so your system is overloaded. You're asking too much from it.

Don't panic though, it may not be such a problem: once the work is finished, things usually get back to normal.

4

Uptime shows the output of /proc/loadavg for loads.

The manpage of man 5 proc says

   /proc/loadavg
          The first three fields in this file are load average figures giving
          the  number  of jobs in the run queue (state R) or waiting for disk
          I/O (state D) averaged over 1, 5, and 15  minutes. 

So you can have high loads even if you have 0% CPU usage. One Core can gain loads up to 100% or 1 on multi processor systems.

See also High CPU load during I/O

-2
 ps aux --sort -rss |head -15

This will sort 15 processes most used by rss memory

Also this will sort most used processes by cpu and memory

 ps aux --sort -pid |head -15

If you have 1 CPU load more than 1 is warning, examine the process list and see who of them uses the most CPU and RAM

When you see most used processes try to see what files are open with

lsof -p [PID_most_used]

Also it would be nice if you give ouptut from top command

  • rss is not related to load average, what are you on about? – Wouter Verhelst Mar 6 '17 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.