Ubuntu 22.04 中缺少 Block_dump 报告

Ubuntu 22.04 中缺少 Block_dump 报告

我正在尝试监控导致磁盘退出待机状态的原因。我在 Ubuntu 20.04 上使用的工具之一是写入/proc/sys/vm/block_dump,它提供了有关正在访问磁盘的详细信息。但是,这似乎在我的 22.04 LTS Server 安装中缺失。

是否有东西可以替代它并提供等效功能?

答案1

是的,看来这个功能已经从内核中移除了。不过还有更好的选择:

sudo blktrace -d /dev/sda -a pc -o - | blkparse -i -

然后在另一个终端

sudo hdparm -Y /dev/sda

暂停驱动器。在 blktrace 终端中,您将看到暂停命令,然后稍后尝试访问该驱动器的任何内容都会将其唤醒:

  8,16   8        1     0.000000000 24462  D   N 0 [hdparm]
  8,16  10        1     0.605317187     0  C   N [0]
  8,16   3        1 13730.287432496 742463  D   R 512 [udisksd]
  8,16  11        1 13739.892840047 599559  R   R [0]
  8,16  11        2 13739.901193229   342  R   R [0]
  8,16  11        3 13739.909186805   342  R   R [0]
  8,16  11        4 13739.917183658   342  R   R [0]

如你所见,在我的情况下它是 udisksd(进行搜索,你会发现数十个线程抱怨这个应用程序正在唤醒驱动器)

请注意:现代磁盘,尤其是那些为数据中心的高可用性而设计的磁盘,可能不喜欢频繁启动/停止,实际上可能最好让它继续运行。如果您的情况不明显(例如,每周使用一次备份 HDD),请研究 HDD 的 MTBF 等级,看看它是否有单独的启动和运行时间条目。对于笔记本电脑,另一个问题是,与关闭电源且驱动器头处于安全位置的情况相比,如果笔记本电脑掉落,旋转的驱动器通常表现更差。

相关内容