私は、OS用の大型1TB SSDと頻繁にアクセスするすべてのファイルを備えた24時間年中無休で稼働するDebian Jessieベースのヘッドレスホームサーバーを持っています。システムには、SnapRAIDアレイに4つの大きなハードドライブがあります。これは、頻繁にアクセスせずに実際に読み書きする場合を除き、そのドライブが回転し続けたいBlu-rayディスクを保持するために主に使用されます。どちらもext4でフォーマットされており、noatimeとnodiratimeが有効な状態でインストールされます。
したがって、どのプロセスやプログラムも直接これらのドライブに定期的にアクセスしなくても、ハードドライブはスタンバイ状態で連続的に回転します。ChromiumなどのGUIファイルブラウザを提供するグラフィックプログラムに関連しているようです。ドライブに移動しなかった場合は、プロセスが利用可能なドライブのリストを取得し、ハードドライブを起動すると思いました。まるでブルキッドのようです。問題は、これらのプロセスのどれも実際にそのドライブのファイルシステムを読み書きしないため、根本的な原因を特定するのが難しいことです。したがって、ファイルが実際に変更されたり触れたりすることはありません。利用可能なディスクのリストを取得するだけで、これらのプログラムがハードドライブを回転させないようにすることができる一種のキャッシュまたはバッファがありますか?ファイルシステムに直接アクセスしなくても、これらのディスクを回転し続ける安定した方法が見つからないため、正直なところ、私を狂わせます。
修正する:Stephenの回答のおかげで、ディスクの活動を追跡することができました。重力による加速度そしてユティカ。本当に悲しいことは、これらのプロセスがファイルシステムへの実際のI / Oを実行するために実際にディスクにアクセスせずにスタンバイ状態のディスクを起動する必要があることです。これまではPCManFMなどの一部の機能が削除されることがわかっているので、今すぐ削除しました。
答え1
あなたはそれを使用することができますblktrace
(書くことができるDebian では、特定のデバイスのすべてのアクティビティを追跡します。
sudo blktrace -d /dev/sda -o - | blkparse -i -
そうでなければ
sudo btrace /dev/sda
のすべてのアクティビティが表示されます/dev/sda
。出力は次のとおりです。
8,0 3 51 135.424002054 16857 D WM 167775248 + 8 [kworker/u16:0]
8,0 3 52 135.424011323 16857 I WM 209718336 + 8 [kworker/u16:0]
8,0 3 0 135.424011659 0 m N cfq496A / insert_request
5番目の列はプロセス識別子で、最後の列はプロセスが存在する場合はプロセス名を提供します。
後で分析するためにトレースを保存することもできます。blktrace
以前に言及されblkparse
ている。btt
blktrace
/usr/share/doc/blktrace
blktrace
紙回転の原因が何であるかを把握できる必要があります。
答え2
試してみてくださいstrace
:
strace -f -e open ls
上記のコマンドは、open
ディスクの回転を引き起こす疑いがある方法に関連するすべてのディスクアクティビティを一覧表示する必要があります。
あるいは、dmesg
物理ディスクの取り付けと削除に関するいくつかの情報が提供されることがあります。
このウェブサイトstrace
ディスクの活動を監視する方法に関する良いガイドがあります。
ディスクI / Oを停止するためにキャッシュを埋めることが可能かどうか疑問ですが、間違っている可能性があります。