问题描述
我在安装在主 HDD 的 ext4 分区上的 Ubuntu 12.04 x64 “fresh” 上遇到问题。不使用时每 5 到 10 秒 HDD 处于活动状态大约 10 秒,无论打开或运行什么应用程序,都会写入一次。我使用 iotop 发现 jbd2 一直在向 HDD 写入数据。硬盘的噪音快把我逼疯了,以这种速度磁盘不会持续很长时间。在同一个硬盘上,我有 Windows 7(双启动 Grub2),一切正常,磁盘在不使用时关闭,计算机无声。其他一切都运行良好(只是 Skype 和网络摄像头的小问题,但这是可以容忍的),但是由于我每天打开计算机 10 个小时,因此对丢失磁盘和噪音的恐惧是无法忍受的……
我尝试手动降低日记的频率,但到目前为止,在网上找不到任何解决方案对我有帮助,磁盘正在以相同的速度研磨。
这个问题的任何解决方案?如果不是,我想我会停止使用 Ubuntu,在这种使用率下,没有硬盘可以持续很长时间,而且硬盘的噪音是无法忍受的……
最佳思路
这是硬盘驱动器活动高于正常使用量并且用户没有太多使用它的罕见情况。在我使用 Ubuntu 的这些年里,我只发生过两次。有一次,我通过在磁盘上执行 fsck
解决了这个问题。
例如,如果您的 HDD 是 /dev/sdb1
,则执行以下操作:
sudo fsck /dev/sdb1
在那种情况下,它说我在没有检查的情况下启动了硬盘驱动器超过 200 次。我实际上没有数过多少次,但在我的书中有 200 次很多。
无论如何,当开始检查时,它在某个时候开始发现问题并修复它们。实际上很多。之后我重新启动,问题就消失了。
在第二种情况下,是因为我编辑了 /etc/fstab
并错误地将参数传递给了 hdd。解决方案是从中删除该参数。
我还不得不说,将 noatime
添加到硬盘驱动器会减少写入操作的数量。例如,这是我在 fstab
文件中的硬盘:
# / was on /dev/sda2 during installation
UUID=38673e00-ecc8-4e11-85d2-58af72999e5b / ext4 noatime,errors=remount-ro 0 1
使用 noatime 参数,磁盘活动较少。虽然,如果使用 2.6.30 或更高版本的内核,relatime 会好得多。
我对此的建议是:
-
在有问题的驱动器上运行
fsck
。它可能会检测到很多问题,也可能不会,但检查它会确保信息是正确的并且硬盘驱动器没有文件系统问题。 -
在桌面上运行
disks
实用程序。它显示驱动器的状态和有关它的 SMART 信息。这可以为您提供有关它的更多信息,特别是如果它有硬件问题。 -
键入
dmesg
并查看最后几行。如果每 10 秒有一次,它就会在那里显示。它也可以显示在cat /var/log/syslog
或cat /var/log/kern.log
-
最后将 noatime 参数添加到您的
fstab
文件中以节省一些访问时间。
次佳思路
-
如果您在没有任何东西运行的情况下看到大量活动,请检查是否有任何日志正在获得大量更新。查看运行此命令时是否有任何文件增长…
ls -lS /var/log/*log | head
-
如果您的硬盘支持 SMART,您可以使用
hdparm -B 255 /dev/sdX
其中 sdX 需要更改为有效分区。
-
检查
fstab
中的noatime
。 -
从下面的最后一个链接中,有人声称他通过强制检查分区解决了这个问题。
touch /forcecheck
并且重新启动将确认您是否属于这种情况。
也看看这个话题:
ext4 jbd2 journaling active even on empty filesystem
这很可能是内核问题(与 Ubuntu 没有特别关系)。 In 2010 both Ubuntu and Arch users had the same problem 。将它作为针对您正在使用的内核的启动板上的错误发布可能是值得的。