我有一台 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 等待时间。