当前位置: 首页>>技术教程>>正文


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

问题描述

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

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

编辑:我尝试使用 Gnome Classic(无效果)而不是 Unity 登录,但它仍然时不时地冻结。

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

编辑:dmesg 的输出位于 http://paste.ubuntu.com/1060054/,kern.log 位于 http://paste.ubuntu.com/1060055/

最佳方案

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

如果您没有从这两个工具中得到您想要的,那么您可能需要使用 developer-tools ,如 OProfileSysprof

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

关于您对 usb 的观察,据我所知,某些 usb-controllers 在某些硬件上表现有点不稳定,这可能会导致 Interrupt-storms,这可能会导致您所描述的情况。尝试搜索 usb interrupt storm,你会得到很多结果。

次佳方案

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

htop iowait image

按 F2

指向 “Available meters” 的箭头

突出显示 CPU 平均值

F5 或 F6 添加到列

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

按 F4 直到你得到“CPU [文本]”

您还可以获得 IORates

F2->列->可用

添加 IO_RATE、IO_READ_RATE、IO_WRITE_RATE

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13681.html,未经允许,请勿转载。