I ran a program that reached CPU load of 39.99, obviously more than my 4 core CPU can handle but why when I killed the program, (which is killed), the CPU load doesn't drop to 0.50 when I didn't turn the program on?

Also, I noticed that CPU load doesn't go down to 0.5 like instantly after a program is killed, you need to wait for it to go down slowly. Why is that?

  • Could the program interact with any running service that triggers other processes? Are you sure the remaining load in CPU is from same process? – Santiago Echevarria Feb 10 at 2:17
  • 2
    "need to wait for it to go down slowly" -- Define "slowly". Usually you see averages for the past 1, 5 and 15 minutes (see man 1 uptime). To make such average go down "instantly" you need to add a large negative instantaneous value. Obviously the instantaneous load cannot be negative. – Kamil Maciorowski Feb 10 at 13:04

What you probably were reading was the 1, 5 or 15 minute load average. This average would not go down instantaneously, but slowly, as the average load over the relevant time frame decreases.

After 15 minutes, the effect of the process that you killed would no longer affect any of the load averages.

Relevant manuals on your system:

  • man uptime; displays the load averages and system uptime. This info is also displayed by top (along with much more data).
  • man getloadavg; manual for a library function that returns the load averages from the system, used by uptime and top.

Sometimes "closing" a program just sends the kill signal to a child process related to the GUI or interface. But the main process (parent) is kept alive.

Try using htop to identify the main process and kill it.

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.