上网本在每次 IO 操作时都会因高负载而冻结

上网本在每次 IO 操作时都会因高负载而冻结

我有一台 Acer EEE PC,配有 SSD 驱动器和 ubuntu 10.10。它大部分时间都运行良好,但在启动或 io 密集操作(复制文件、安装更新等)后,负载增加到 2,保持几分钟后慢慢降至 0.5 左右。

我如何确认问题的根源?是 SSD 驱动器、软件、驱动程序还是其他什么?有什么方法可以修复?

答案1

您可以尝试我在此主题

我也注意到 IO 操作期间出现了严重的冻结。虽然我不知道为什么会发生这种情况,但我可以提供一种解决方法。方法如下:

在终端中输入

echo "deadline" | sudo tee /sys/block/sda/queue/scheduler

尝试再次移动或复制大量文件。您应该会注意到巨大的差异。如果是这样,请在终端中输入以下内容以使更改永久生效:

gksudo gedit /etc/default/grub

在以 开头的行中GRUB_CMDLINE_LINUX_DEFAULT="",在 s 之间添加以下字符串""

elevator=deadline

保存并退出。之后,在终端中输入

sudo update-grub

重启。

仅供参考:这会将所谓的调度程序更改为“截止日期”。

来源http://techtitbits.com/2010/04/get-rid-of-freeze-ups-during-disk-io-activity-in-ubuntu/

================================================================================

另一种可能性降低 dirty_ratio 设置即可。要测试,请在终端中输入:

sudo bash -c "echo 10 > /proc/sys/vm/dirty_ratio"

sudo bash -c "echo 5 > /proc/sys/vm/dirty_background_ratio"

如果这有帮助,请通过编辑 sysctl.conf 使其永久生效:

gksudo gedit /etc/sysctl.conf

在文件末尾添加以下行:

vm.dirty_ratio=10

vm.dirty_background_ratio=5

保存,关闭并重新启动。完成。

答案2

您使用的是 Ubuntu One 吗?启动后,我遇到了与 U1 类似的问题。

您可以尝试在启动时打开系统监视器(应该位于系统 > 管理下),看看 ubuntuone-syncdaemon(或其他程序)是否占用了硬盘。或者更好的方法是,下载一个名为 iotop 的程序,并在启动后立即从终端运行它。它会显示哪个程序导致了高 I/O 等待时间。

相关内容