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


19

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

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

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

编辑:CPU图形似乎没有显示任何实际的峰值,所以看来您是正确的,而我最初对CPU峰值的诊断是问题不正确,我现在怀疑IO等待。我不记得这是在运行Windows 7 Starter的短短几周内发生的,这使我相信它不是(只是?)硬件。我有什么可以调整的方法来改善此问题?我正在将Acer Aspire One D257与Ubuntu 11.10配合使用。

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


这个问题在一般情况下和您的特定情况下都很有趣。
拉斐尔·西埃拉斯(RafałCieślak)2012年

1
通过打开CPU图形,您可以确定是不是CPU峰值导致了速度下降。在某些情况下,I / O可能是另一个原因,或者是网络滞后。无论您当时正在积极使用什么程序,它都会发生吗?
大卫·奥尼尔

大卫,我会做到的。我只在这台机器上使用过Vim和Firefox,它们始终处于打开状态,无论前景是什么,它都会发生。起初我以为是从Vim自动生成ctag,但在注释掉该部分并清除了我的整个vimrc文件后,问题仍然存在。我将尝试通过图表查看它是否确实是CPU高峰或IO等待。
杰夫·威灵

它如何反应迟钝?鼠标指针会停止更新吗?
AdamKG 2012年

抱歉,响应延迟,我认为它也冻结了指针,但是它停止发生了,或者我最近没有注意到它。有趣的是,最近我还插入了加密的USB备份驱动器并进行了很多次安装,这使我想知道是否可以这样做。我试图在插入和不插入驱动器的情况下进行更多测试,以确定A)是否相关以及B)在这些冻结期间指针停止响应。
杰夫·韦林

Answers:


12

您可能要签出另外两个工具:

如果您不能从这两个工具中获得所需的东西,那么您可能需要使用OProfileSysprof之类的开发人员工具。

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

关于您对USB的观察,据我所知,某些USB控制器在某些硬件上的行为有些不稳定,这可能会导致中断风暴,这可能会引起您的描述。尝试搜索USB中断风暴,您将获得很多成功。


嗯,我当然会研究中断风暴,但是即使我停止定期在此系统上使用USB设备后,问题仍然继续发生。在很多时候,我都会在工作方式(运输)上进行编程,而那时候我会注意到这一点。
Jeff Welling 2012年

5

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

htop iowait图像

按F2

指向“可用仪表”的箭头

突出显示CPU平均

F5或F6添加到列

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

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

您还可以获得IORates

F2->列->可用

添加IO_RATE,IO_READ_RATE,IO_WRITE_RATE


2

看到这种情况的最好方法是使用命令行应用程序,例如tophtop 安装htop

最佳
最佳

停止
停止

不过,您需要观察一段时间,直到您看到导致峰值的原因(如果确实是CPU使用率的峰值而不是I / O等待,这可能并非在所有情况下都可以发现)。


1
我熟悉top但不熟悉htop,htop是否表示IO等待/如何解释其输出的那一部分?我在htop网站上检查了常见问题解答,但没有提到IO等待。
Jeff Welling 2012年

@JefWelling:它不存在。两者都将其显示为CPU使用率。
罗兰迪克(RolandiXor)

还有一个用于I / O活动的监视器。它称为iotop(请参阅danjo133s答案)。
FuzzyQ 2012年

2

cpustat是一个非常有用的新工具, 它具有图形界面,可让您随时间监视多个pid。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.