我在主硬盘的 ext4 分区上安装的 Ubuntu 12.04 x64“全新”版本上遇到了问题。每隔 5 到 10 秒,硬盘就会处于活动状态,大约 10 秒,无论打开或运行什么应用程序,都会写入数据。我使用 iotop 发现 jbd2 一直在向硬盘写入数据。硬盘的噪音让我抓狂,按照这种速度,磁盘不会持续很长时间。在同一硬盘上,我安装了 Windows 7(双启动 Grub2),一切正常,不使用时磁盘会关闭,计算机保持静音。其他一切都运行良好(Skype 和网络摄像头只有一点小问题,但可以忍受),但担心丢失磁盘和噪音是无法忍受的,因为我每天要开着电脑 10 个小时……
我尝试手动降低日志记录的频率,但到目前为止,在网上找不到任何能帮我解决的问题,磁盘以相同的速率磨损。
这个问题有解决办法吗?如果没有,我想我会停止使用 Ubuntu,因为在这种使用率下,没有硬盘能用很长时间,而且硬盘的噪音让人无法忍受……
答案1
这是硬盘活动超出正常使用范围且用户使用频率不高的情况,这种情况很少见。在我使用 Ubuntu 的这么多年里,这种情况只发生过两次。有一次我通过fsck
对磁盘进行操作解决了这个问题。
例如,如果您的 HDD/dev/sdb1
如下,请执行以下操作:
sudo fsck /dev/sdb1
在这种情况下,它说我已经启动了硬盘超过 200 次,但没有检查。我实际上没有计算过有多少次,但在我看来 200 次已经很多了。
无论如何,当我开始检查时,它开始在某个时候发现问题并修复它们。实际上有很多问题。之后我重新启动,问题就消失了。
第二种情况是因为我编辑了/etc/fstab
并错误地将一个参数传递给了硬盘。解决方案是从中删除该参数。
我还必须说,增加noatime
硬盘容量可以减少写入操作的数量。例如,这是我的硬盘中的文件fstab
:
# / was on /dev/sda2 during installation
UUID=38673e00-ecc8-4e11-85d2-58af72999e5b / ext4 noatime,errors=remount-ro 0 1
与诺亚泰参数,磁盘活动较少。但是,如果使用内核 2.6.30 或更高版本,相对时间好多了。
我对此的建议是:
在有问题的驱动器上运行
fsck
。它可能会检测到很多问题,也可能不会,但检查它将确保信息正确并且硬盘没有文件系统问题。在桌面运行该
disks
实用程序。它显示驱动器的状态及其 SMART 信息。这可以为您提供有关它的更多信息,特别是如果它有硬件问题。输入
dmesg
并查看最后几行。如果每 10 秒有事情发生,它会显示在那里。它也可以显示在cat /var/log/syslog
或cat /var/log/kern.log
最后添加诺亚泰参数添加到您的
fstab
文件中以节省一些访问时间。
答案2
如果您看到很多活动,但实际上没有运行太多程序,请检查是否有任何日志正在获得大量更新。运行此程序时,查看是否有任何文件增长...
ls -lS /var/log/*log | head
如果你的硬盘支持 SMART,你可以使用
hdparm -B 255 /dev/sdX
其中 sdX 需要更改为有效分区。
检查你
fstab
的noatime
。从下面的最后一个链接中,有人声称他通过强制检查分区解决了这个问题。
touch /forcecheck
重新启动将确认是否是这种情况。
另请查看这个主题:
这很可能是内核问题(与 Ubuntu 没有特别关系)。2010 年,Ubuntu 和 Arch 用户都遇到了同样的问题. 可能值得将其作为针对您正在使用的内核的错误发布在启动板上。
答案3
我在使用联想/Thinkpad时遇到过这个问题,我尝试了所有方法,但最后我发现是东芝驱动器的问题。东芝驱动器的停放选项有问题,它会失控并不断尝试停放驱动器,这就是您听到的噪音。
http://disablehddapm.blogspot.com.au/2011/12/disabling-hard-disk-drive-advanced.html
解决方案是禁用电源管理,尽管这会缩短电池寿命。这对我的驱动器有效,但由于您没有告诉我们您使用的是哪种驱动器,因此此解决方案可能不起作用,需要设置不同的参数。
答案4
/etc/fstab
在文件上,在 HDD 上的文件系统的挂载选项末尾添加以下字符串:
,commit=600
例如:
UUID=cc614fb7-fbdc-4b6d-af3c-a3fda4f699a0 / ext4 defaults,commit=600 0 2
重启并享受
man mount
说:
commit=nrsec 每 nrsec 秒同步所有数据和元数据。默认值为 5 秒。零表示默认。