如何诊断 Ubuntu CPU 峰值/IO 等待?

Jef*_*ing 18 performance

我正在使用 Ubuntu,每隔几分钟它就会无响应半秒到一整秒,这通常不是问题,但是当您尝试按退格键或导航代码而没有任何反应时,尝试编写代码会非常令人沮丧。问题是,冻结是如此短暂,以至于 top 没有时间向我展示什么是 CPU 尖峰(假设有什么东西,但我不知道还有什么可能导致这种情况)。

有谁知道如何解决这个性能问题?

编辑:我尝试使用 Gnome Classic(无效果)而不是 Unity 登录,但它仍然每隔一段时间就会冻结。

编辑:CPU 图似乎没有显示任何实际的峰值,所以看起来你是对的,我对 CPU 峰值的最初诊断是错误的,我现在怀疑 IO 等待。我不记得在我运行 Windows 7 Starter 的短短几周内发生过这种情况,这让我相信它不是(只是?)硬件..有什么我可以调整来改进的吗?我正在使用带有 Ubuntu 11.10 的 Acer Aspire One D257。

编辑:输出dmesghttp://paste.ubuntu.com/1060054/和 kern.log 在http://paste.ubuntu.com/1060055/

小智 12

您可能需要查看另外两个工具:

如果您没有从这两个工具中得到您想要的东西,那么您可能需要使用OProfileSysprof等开发人员工具。

列出的所有工具都可以从 ubuntu 存储库中获得

关于您对 USB 的观察,据我所知,某些 USB 控制器在某些硬件上表现得有点不稳定,这可能会导致中断风暴,这可能会导致您所描述的情况。尝试搜索 USB 中断风暴,你会得到不少点击。


小智 5

我使用 htop 多年,我终于找到了如何通过数字和百分比获得 Cpu 利用率,我很惊讶我错过了这个。

htop iowait 图像

按 F2

指向“可用仪表”的箭头

突出显示 CPU 平均值

F5 或 F6 添加到列

指向“CPU [Bar]”项的箭头

按 F4 直到你得到“CPU [Text]”

您还可以获得 IORates

F2->列->可用

添加 IO_RATE、IO_READ_RATE、IO_WRITE_RATE