监控 Linux 写入 Compact Flash 的操作

监控 Linux 写入 Compact Flash 的操作

我正在开发一个使用 SanDisk 紧凑型闪存来托管 Linux 操作系统(ext2 文件系统,无交换)的项目。该系统使用单独的 IDE 进行日志记录和其他文件 i/o 功能。在网上查看,紧凑型闪存卡能够进行 100,000 次左右的写入循环(考虑到负载平衡)似乎是标准做法。SuperUser 上有很多关于如何减少写入次数的好问题,但我想知道是否有有什么方法可以监控/记录闪存的写入次数。 这可能吗?

答案1

因此我继续深入挖掘并发现了一些选择:

智能控制

smartmontools 包中的这个命令将列出写入命令的数量(包括写入的逻辑扇区)和一些其他统计数据。https://linuxconfig.org/retrieve-hard-drive-s-age-and-general-health-information-using-linux。但我的紧凑型闪存缺乏 SMART 功能,因此无法工作。

/sys/block/dev/stat

该文件提供了关于块设备“dev”状态的几个统计信息,包括我正在寻找的内容——处理的写入 I/O 数量。https://www.kernel.org/doc/Documentation/block/stat.txt

虚拟机状态监测

此命令还显示不同的 i/o 统计信息。基本上与 /sys/block/dev/stat 相同的信息,但适用于所有磁盘统计信息。需要使用 grep 来获取我感兴趣的 sda 设备。

我还查看了其他一些内容,例如 diskstat 和 tecmint.com 上列出的有关 linux-performance-monitoring-with-vmstat-and-iostat-commands 的一些命令(我需要至少 10 个代表点才能发布超过 2 个链接)。

我认为 /sys/block/dev/stat 方法最适合我的需要。

相关内容