顶部说IOWAIT很高,如何找到罪魁祸首


9

我知道我不应该这样做,但是我从USB闪存驱动器以持久模式运行了一些Ubuntu系统,并且运行缓慢。

“ top”告诉我这不是因为CPU,而是因为IO,即%wa高。

我已经删除了交换,但是要进行进一步优化,我需要了解一些使磁盘如此有效的过程的线索。

因此,基本上,我想要的是“ top”显示具有高IOWAIT的进程,就像“ top”显示具有高%CPU的进程一样。


我希望这个答案更好。我只想要一种使iowait时间包含在其每个进程cpu百分比中的方法。
2014年

Answers:


5

许多USB“笔”驱动器的速度都很慢,尤其是在写入时,因此除了尝试更快的驱动器之外,您几乎无能为力。

要回答您的直接问题:您可以了解磁盘明智的操作情况iotop -o-如果在繁忙时段保持运行状态,将向您显示哪些进程正在主动执行磁盘读/写操作以及执行多少操作。这可能会突出显示您可以不做的某些过程或服务,然后关闭以帮助解决问题。在许多Linux设置中,有一些cron作业会偶尔扫描一部分文件(如果不是全部),以更新搜索缓存(例如updatedb,更新诸如命令之类的数据的任务locate)-如果您发现其中之一这些会导致您变慢,然后可以将其安全地从cron的日常操作列表中删除。

您的目标计算机中有多少RAM?如果从这种角度来看这是一台小型计算机,那么这将无济于事,因为缓存的空间很小(因此,不久后再次读取的内容需要再次从USB记忆棒而不是RAM中的缓存副本中读取)。

您也可以尝试使用Ubuntu的简化版本,特别是在RAM较低的情况下,但是如果您有大量RAM但驱动器速度较慢,则可以通过减少启动时间(如果没有其他方法)来提供帮助。lubuntu是一个流行的选择-如果需要,可以使用所有常用的软件包,但默认情况下安装较少,默认情况下启动时启动较少的服务,并且使用重量轻的台式机环境(所有这些更改都是相同的安排) ,因此即使您是Ubuntu唯一拥有丰富经验的Linux变体,您也应该相对熟悉它。


2
谢谢。运行iotop -o -d 5(5秒,我不是一个快速的读者),我注意到3件事:1 / jdb2,2 / gnome-setting-daemon和3 / chrome一起生成几乎50%wa ...为什么gnome和chrome一直在向磁盘写入数据是一个谜(但是,不是很多数据,大约10K / s)?关于jdb2,我认为这是我的错,不幸的是,我使用了ext4 fs,并且我正在寻找解决方案以使写入速度较慢的USB密钥恢复到更合适的ext2。
JeanHuguesRobert 2010年

2
对于基于闪存的驱动器,千字节/秒或写入可能是个问题,因为它们需要写入大块(因此,对于每个小写入,控制器可能会读取完整的块,对其进行更新然后再进行写入)。Chromium将定期更新其基于磁盘的缓存,如果您打开的网站正在执行后台请求以“即时”更新信息(Facebook和许多类似应用程序会这样做),Chromium将定期更新。使用像ext2这样的无日志文件系统可以通过从情况中删除“写日志”来改善情况,但是它的安全性较低,我不确定这种区别会有多明显。
David Spillett 2010年
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.