出版しました一つの質問これは、私のハードドライブが何の理由もなく回転し続け、どのプロセスがハードドライブが回転するのかを知りたいからです。
質問に対するコメントでは、iosnoop
ハードドライブの1つがランダムに回転している間に何分以内に何百行を生成するためにどのようなものを使用する必要があるか(パラメータやスイッチなしで)説明しました。出力をコピーし、EmacsにSDカードに対応するデバイス番号を持つすべての行を削除するように指示した場合(アクセスには興味がありません)、次の結果が残ります。
COMM PID TYPE DEV BLOCK BYTES LATms
dumpe2fs 19467 R 8,0 272648 4096 23.25
^C
Ending tracing...
残ったデータは1行だけなので犯人が把握されたと見るのが妥当だ。しかし、なぜdumpe2fs
ランダムに電話が来たのですか?それよりも重要なのは、可能であれば問題を起こさずに停止する方法です(該当するファイルの名前を変更する汚れたソリューションがこれを行うことができます)。
手動で実行すると、対応するsudo dumpe2fs /dev/sda1
HDDが回転します。ただし、コマンドは出力を返し、HDDが回転する前に終了します(HDDが回転している間にファイルにアクセスしたときに経験する最大7秒の遅延なし)。
Ubuntu Mate 16.04を使用してください。
答え1
実行中の理由を確認するには、dumpe2fs
ロガーと交換できます。名前を変更してContainsというスクリプトを/sbin/dumpe2fs
作成します。/sbin/dumpe2fs.real
/sbin/dumpe2fs
#!/bin/sh
echo dumpe2fs "$@" >> /var/log/dumpe2fs-search.log
date >> /var/log/dumpe2fs-search.log
pstree >> /var/log/dumpe2fs-search.log
exec dumpe2fs.real "$@"
次にログファイルを見て、何が実行されているかを確認しますdumpe2fs
。