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

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

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

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

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

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

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

  • IOTop
  • LatencyTop

如果你没有从这两个工具中得到你想要的东西,那么你可能需要使用像OProfile或Sysprof这样的开发工具。

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

关于你对usb的观察,从我所听到的情况来看,一些usb控制器表现得有点不稳定,某些硬件可能会导致中断风暴,这可能会导致你所描述的内容。 尝试搜索usb中断风暴,你会得到很多点击。

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

htop iowait图像

按F2

箭头到“可用米”

突出显示CPU平均值

F5或F6添加到列

箭头指向“CPU [Bar]”项

按F4直到出现“CPU [Text]”

你也可以获得IORates

F2-> Columns->可用

添加IO_RATE,IO_READ_RATE,IO_WRITE_RATE

查看此内容的最佳方法是使用命令行应用程序,如top或htop 安装htop

最佳
最佳

HTOP
HTOP

您需要暂时观看它,直到您看到导致尖峰的原因(如果它确实是CPU使用率的峰值而不是I / O等待,这可能不会在所有情况下都被捕获)。

一个新的非常有用的工具是cpustat它有一个图形界面,允许您随着时间的推移监视多个pids。

在此处输入图像描述