我正在尝试追踪一台旧笔记本电脑(10yo,4Gb 内存,2 个内核,Kubuntu 18.04)上的重复挂起,现在它每天会发生几次,适度使用(在 Firefox 中打开 <10 个标签,一堆其他 progs,没什么大不了的)。
有时我会收到 OOM,但在大多数情况下,用户界面会在恢复正常之前停止 1 到 30 分钟。这是最近发生的事情(过去 2 个月)。在大多数情况下,dmesg 或 syslog 中没有任何内容。
我一直试图诊断它但没有成功,但我注意到 htop 的一件事是平均负载跃升至 30 或更多,而累积 CPU 使用率保持在 10% 以下并且内存使用率 (Mem+Swap) 保持良好低于 4Gb。
第一个问题:平均负载与 CPU 使用率有何不同?第二个问题:我还能做什么?我可以运行一些压力计划并希望获得有意义的信息吗?
[编辑]仍在等待下一次崩溃,但我注意到swapiness为0。默认情况下不应该是60吗?
问题 1:平均负载与 CPU 使用率有何不同?
在 Linux 和 Unix 中,平均负载包括待处理的进程。在 linux 中,与 unix 不同,平均负载包括 I/O 等待,例如等待磁盘读取或写入,以及挂起的进程。
让我们使用磁盘(长寻道时间)来演示高负载平均低 CPU 使用率,通过让多个任务读取大文件中的随机扇区。系统因 I/O 等待而陷入困境。
系统几乎空闲:
但是非常高的平均负载:
问题2:我还能做什么?
你的症状听起来像是重度交换。您声称内存使用率低,但我猜这并不总是正确的,有时您会进行大量交换,有时您甚至会完全耗尽内存。
从评论...
正如我所怀疑的,存在交换问题。在这种情况下,它根本没有交换。
对于 4G RAM,将 vm.swappiness 设置为 60(它是 0 -这是一个完全错误的设置),从那时起就没有出现过一次挂起。