我知道我不应该这样做,但是我以持久模式从 USB 闪存驱动器运行一些 Ubuntu 系统,而且速度非常慢。
“top” 告诉我这不是因为 CPU,而是因为 IO,即高 %wa。
我已经删除了交换,但是为了进一步优化,我需要了解哪些进程如此频繁地请求磁盘。
所以,基本上,我想要的是相当于“top”来显示具有高 IOWAIT 的进程,就像“top”显示具有高 %CPU 的进程一样。
答案1
许多 USB“笔式”驱动器速度非常慢,特别是在写入时,因此除了尝试更快的驱动器之外,您可能几乎无能为力。
回答你的直接问题:您可以了解磁盘方面的情况iotop -o
- 如果在繁忙时段保持运行,它将向您显示哪些进程正在积极执行磁盘读取/写入以及执行了多少操作。这可能会突出显示一些您可以不用并关闭以帮助解决问题的进程或服务。许多 Linux 设置中都有一些 cron 作业,它们会偶尔扫描文件系统的一部分(如果不是全部的话)以更新搜索缓存(例如updatedb
更新命令使用的数据的任务locate
) - 如果您发现其中一个导致您的速度变慢,那么可以安全地将它们从 cron 的定期运行列表中删除。
目标机器中有多少 RAM?如果按照这个标准,它是一台小型机器,那么这将无济于事,因为缓存读取的空间很小(因此,不久之后再次读取的内容需要再次来自 USB 记忆棒,而不是 RAM 中的缓存副本)。
您也可以尝试精简版的 Ubuntu,特别是在您内存较低的情况下,但如果您有大量内存但驱动器速度较慢,它也可以减少启动时间,从而有所帮助。鲁本图是一个受欢迎的选择 - 所有常用的软件包都可以在您需要时使用,但默认情况下安装的较少,默认情况下在启动时启动的服务较少,并且使用重量较轻的桌面环境(除了这些变化之外的所有内容都是相同的安排,所以即使 Ubuntu 是您唯一有经验的 Linux 变体,您也应该会发现它相对熟悉)。