我的笔记本电脑运行良好,其平均负载在 0.2 - 0.5 之间(什么都不做时约为 0.02),直到我决定用 SSD 升级它。
首先,我用 SSD 替换了我的 HDD,将 HDD 移入 HDD Caddy,移除光驱并将 HDD 放在那里。
- 我的 SSD 和 HDD 均能够与 SATA III 接口配合使用。
但是我的硬盘工作在 SATA 2 模式下:
sudo smartctl -a /dev/sdb | grep SATA SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
似乎我的光驱接口是SATA 2.
问题
问题是,每当 HDD Caddy 中有什么东西(SSD、HDD,无所谓)时,不执行任何操作时的平均负载约为 1.5 - 2,而系统刚启动时的平均负载约为 4。
我做了什么?
- 我尝试过任意设置组合,但都没有任何效果。
还有什么?
- CPU 使用率正常,且没有进程消耗 CPU。
- 如果我只使用一个磁盘作为主硬盘,则平均负载是正常的。
- 如果我在光驱处使用一个磁盘,就会得到较高的平均负载。
答案1
有一篇针对相同问题的出色问答:
最高投票答案的解决方案是以下命令:
echo "disable" > /sys/firmware/acpi/interrupts/gpe6F
在链接中grep
发现了造成悲痛的中断:
grep . -r /sys/firmware/acpi/interrupts/
平均负载
如果您像这样查看 1-5-15 分钟的系统平均负载:
$ cat /proc/loadavg
0.50 0.76 0.91 2/1037 14366
报告显示为 .5、.76 和 .91。来自了解 Linux CPU 负载——什么时候应该担心?它说:
- 这“需要调查一下”经验法则:0.70 如果您的平均负载保持在 0.70 以上,那么是时候在情况变得更糟之前进行调查了。
文章中还会提到,将所有 CPU 的平均负载相加,但不除以 CPU 数量,以获得所有 CPU 的平均值。您必须手动执行此操作,因此真实值是:
.063-.095-.113
因为我有 8 个 CPU。
不过我更喜欢使用 Conky 来实时显示:
请注意,从底部开始的第 4 行显示 1-5-15 分钟的平均负载如下:
.150 .177 .143
1 分钟负载平均值为 0.15,相当于 15%,与所有 CPU百分比值高于两行平均负载。
如果不除以 8,我就会心脏病发作,因为我会看到:
1.200 1.416 1.144
Conky 使用 Conky 代码自动帮我除法:
${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}
当然,并不是每个人都使用 conky,可能只有 1% 的 Linux 用户,但对于像我一样喜欢 Conky 的人来说,你可能会发现这个代码很有帮助。