
私は、SanDisk コンパクトフラッシュを使用して Linux オペレーティングシステム (ext2 ファイルシステム、スワップなし) をホストするプロジェクトに取り組んでいます。このシステムでは、ログやその他のファイル入出力機能に別の IDE を使用しています。オンラインで調べてみると、コンパクトフラッシュカードは 100,000 回程度の書き込みサイクルに対応しているのが標準のようです (負荷分散を考慮)。SuperUser には書き込み回数を減らす方法についての優れた質問がたくさんありますが、コンパクトフラッシュへの書き込み回数を監視/記録する方法はありますか?。これは可能ですか?
答え1
そこでさらに深く掘り下げていき、いくつかの選択肢を見つけました。
スマートCRL
smartmontools パッケージにあるこのコマンドは、書き込みコマンドの数 (書き込まれた論理セクターを含む) とその他の便利な統計情報を一覧表示します。https://linuxconfig.org/retrieve-hard-drive-s-age-and-general-health-information-using-linuxしかし、私のコンパクトフラッシュには SMART 機能がないので、動作しません。
/sys/ブロック/dev/stat
このファイルには、私が探しているもの(処理された書き込み I/O の数)を含む、ブロック デバイス「dev」の状態に関するいくつかの統計情報が含まれています。https://www.kernel.org/doc/Documentation/block/stat.txt
vmstat -d
このコマンドは、さまざまな I/O 統計も表示します。基本的には /sys/block/dev/stat と同じ情報ですが、すべてのディスク統計が表示されます。関心のある sda デバイスを取得するには、少し grep を実行する必要があります。
私が調べた他のいくつかのもの、たとえば diskstat や、tecmint.com にリストされている linux-performance-monitoring-with-vmstat-and-iostat-commands に関するいくつかのコマンドなどがありました (2 つ以上のリンクを投稿するには、少なくとも 10 の評価ポイントが必要でした)。
/sys/block/dev/stat アプローチが私のニーズに最も適していると思います。