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
Load is not equal to CPU usage. It is basically an indicator how many processes are waiting to be executed.
Some helpful links:
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.
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
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