6

My laptop was working fine and its load average was between 0.2 - 0.5 (and around 0.02 while doing nothing) until I decide to upgrade it with an SSD.

First I replaced my HDD with SSD, moving HDD into a HDD Caddy, removing the optical drive and putting HDD there instead.

  • Both my SSD and HDD are capable of working with SATA III interfaces.
  • However my HDD is working at SATA 2 mode:

    sudo smartctl -a /dev/sdb | grep SATA
    SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
    
  • Seems my optical drive interface is SATA 2.

Problem

The problem is whenever there is something in HDD Caddy (SSD, HDD, Doesn't matter) load average while doing nothing is around 1.5 - 2 and while system is just booted up is around 4.

What did I done?

  • I have tried any combination of setup nothing takes any effects.

What else?

  • CPU usage is normal and no process is consuming the CPU.
  • If I only use one disk as the main hard drive load average is normal.
  • If I even use one disk at the optical drive place, I get high load average.
Ravexina
  • 55,668
  • 25
  • 164
  • 183
  • So, If you have basically your old setup which had an 0.2-0.5 load, but instead of a CD/DVD drive you insert an SSD, the load goes up ? Have you tried to check where the load is coming from (i.e. iowait, etc) ? – Robert Riedl Jul 10 '19 at 06:24
  • That's correct, If I put anything in place of CD/DVD drive load goes up. Even if there is only SSD there with no other drive load average is always higher that on 1. I couldn't find anything interesting however there is always a kworker running with the state of D might be related to luks. – Ravexina Jul 10 '19 at 13:27
  • Check out the link by WinEunuuchs2Unix. It might be related to the caddy you use. – Robert Riedl Jul 10 '19 at 13:29
  • Does your HDD caddy have any buttons to switches ? – Robert Riedl Jul 10 '19 at 13:32
  • For uninterruptible sleep investigation, try some suggestions from here. – Doug Smythies Jul 10 '19 at 14:04
  • @RobertRiedl :| Hmm, Stupidity of me! I Found the switch and changing its position seems making things much better. there is no kworker with state D anymore. Post it as an answer. – Ravexina Jul 10 '19 at 14:05
  • That is great news! – Robert Riedl Jul 10 '19 at 14:11

2 Answers2

5

There is an excellent Q&A with the same problem:

enter image description here

The solution from top-voted answer was this command:

echo "disable" > /sys/firmware/acpi/interrupts/gpe6F

In the link grep was used to discover the interrupt causing grief:

grep . -r /sys/firmware/acpi/interrupts/

Load Average

If you look at your system load average for 1-5-15 minutes like this:

$ cat /proc/loadavg
0.50 0.76 0.91 2/1037 14366

It's reporting .5, .76 and .91. From Understanding Linux CPU Load - when should you be worried? it says:

  • The "Need to Look into it" Rule of Thumb: 0.70 If your load average is staying above > 0.70, it's time to investigate before things get worse.

Further in the article it will mention something like the load average for all your CPUs are added together but not divided by the number of CPUs to get an average of all CPUs. You have to do this manually so the true values are:

.063 - .095 - .113

because I have 8 CPUs.

I prefer to use Conky to display this in real-time though:

conky nvidia.png

Notice the 4th line from the bottom display 1-5-15 minute load averages as:

.150 .177 .143

The 1 minute load average of .15 equates to 15% which matches the All CPU percentage value two lines above the Load Average.

Without diving by 8 I'd have a heart attack because I would be seeing:

1.200 1.416 1.144

Conky automatically divides for me with the Conky code:

${execpi .001 (awk '{printf "%s/", $1}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $2}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $3}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4}

Of course not everyone uses conky probably only 1% of Linux users but for those out there that love Conky like me, you might find this code helpful.

  • of course load averages can be higher than 1.0 - why do you think otherwise ? – Robert Riedl Jul 10 '19 at 11:38
  • @RobertRiedl https://superuser.com/questions/1402079/linux-understanding-load-average-and-cpu Did you down vote me just over load average comment? – WinEunuuchs2Unix Jul 10 '19 at 11:48
  • So.. nowhere does it state that you can't have a higher load average than 1.0. In fact this - A value greater than 1.0 means it's getting more than it can handle - would directly contradict it ? – Robert Riedl Jul 10 '19 at 11:52
  • @RobertRiedl You need to divide by 8 is what it confirms... I did rephrase answer to put in "generally" though :) – WinEunuuchs2Unix Jul 10 '19 at 11:54
  • okay, still I don't get what you are trying to say. The number 8 comes from 4 cores with HT. OP is experiencing a load increase of a high factor (x5 to x12,5) ... it doesn't matter if he has 2 cores or 128, one socket or 12. The load increase is the issue. Also OP never states how many cores his notebook has or if he has HT... for all we know it could be a dualcore AMD cpu. – Robert Riedl Jul 10 '19 at 12:01
  • Just remove the part about the load.. it's not correct and it doesn't help OP - while the answer you found might certainly help. Maybe he needs to flip a switch on his HDD caddy. – Robert Riedl Jul 10 '19 at 12:03
  • @WinEunuuchs2Unix Thank you. I couldn't find gpe6F and there was no entry with trigger counts more than of 3300 in my system. However your link and @RobertRiedl comment helped me to fix the issue. It was all about the switch. – Ravexina Jul 10 '19 at 14:09
  • 1
    @Ravexina I've marveled at the many times you've helped other users and I'm glad you got helped this time. – WinEunuuchs2Unix Jul 10 '19 at 23:39
4

This could be related to the HDD caddy you use.

Please see if it has a button or a switch, in order to change the state of the caddy.

this

Robert Riedl
  • 4,351