硬盘驱动器无明显原因从睡眠状态唤醒

硬盘驱动器无明显原因从睡眠状态唤醒

我有一个 SATA 扩展坞(实际上是我电脑机箱的一部分)并且经常使用它。我的一个 SATA 磁盘是WD 鱼子酱 SE16 WD2500,250GB 7200 RPM SATA3 硬盘。坞站连接到标记为的 SATA 端口外部的在 UEFI 中。

当我插入它并得到我想要的任何东西时,我会sudo hdparm -Y /dev/sdd在我的终端上发出命令,它会立即进入睡眠模式。

只有在随机的时间(从 2 分钟到几个小时)之后,它才会恢复。

我的其他驱动器不会表现出这种行为,并保持睡眠模式,直到我尝试再次访问它们的文件。

我确信我没有访问驱动器,系统中也没有任何用户空间进程。

我如何诊断这一点,更重要的是,我如何确保它停留睡着了吗?

答案1

嗯,驱动器唤醒的原因可能有无数。

例如,我的新 WD80EZAZ 驱动器就遇到了这个问题。事实证明,很简单smartctl -a就能唤醒它们(只需查询 SMART 数据,甚至不运行任何测试)。我的旧 WD20EARS 驱动器并非如此,您可以在不旋转的情况下查询它们。因此,我必须添加-n standby到 mysmartd.conf以在待机时忽略驱动器(将其添加到您的DEVICESCAN线路或适当的设备线路)。

其他常见的原因是文件系统,例如ext4惰性初始化可能会定期访问驱动器。您可以设置/proc/sys/vm/block_dump或使用其他工具来查找,或用于mount -o loop,ro只读安装以排除文件系统本身的定期(写入)访问。

如果您有一个无效的/etc/fstab条目,指定了一个不存在的 UUID,这也可能导致所有驱动器都被扫描以查找丢失的 UUID,从而唤醒该过程中的所有内容。这就是为什么你有时会看到人们使用/dev/disk/by-uuid/the-thing而不是UUID=the-thingas 来阻止额外的扫描:by-uuid 符号链接要么存在,要么不存在,不像findfs它不会每次都遍历所有驱动器。

还要检查dmesg是否有定期总线重置或其他此类问题。不稳定的电缆也会引起奇怪的副作用。

不幸的是,这个问题没有简单的答案,而且很难查明确切的原因。

相关内容