私はほとんどの時間アイドル状態のWebサーバーを持っています。これにより、数分後にプライマリハードドライブの回転が停止し、他のすべてのハードドライブの回転も停止します。これは、システムができるだけ電力効率的であることを望むので、望ましい動作である。
残念なことに、プライマリハードドライブは数秒後に再び回転し、ハードドライブメカニズムに多くの摩耗を引き起こします。これは、誰もWebサーバーにアクセスしなくても24時間を通して安定して発生します。ドライブの回転イベントとソースを記録する方法はありますか?
自動ramfsキャッシュなどを生成できますか?私はこれが繰り返しアクセスされるのと同じファイルだと思います。アクセスされたファイルがコピーされるキャッシュにメモリの領域を割り当て、ディスクからインポートする必要がないようにすることをお勧めします。回転する必要はありません。よろしくお願いします!
答え1
fatrace
この目的のために特別に書かれています。ファイルシステム内のファイルへのアクセスを監視します。
これは一般的にうまく機能します。理論的には、低レベルで動作するストレージソフトウェア(ブロックデバイスやカーネル内に直接アクセスするなど)にバグがある可能性があることを理解する必要があります。
まずsync
ハードドライブをアイドル状態にしておきますが…手動で回転させる必要がありますhdparm
。これにより、fatraceに示すように、すべてのディスクアクティビティが書き込みまたはキャッシュされていない読み取りによって引き起こされる可能性があります。それ以外の場合は、読み取りがキャッシュされたかどうかを知るのが難しいため、速度を遅くする必要があります。 sudoを使用するとログが記録されますので、rootシェル(sudo -i
)を開き、sync、hdparm、fatraceを実行してください。
したがって、ディスクから取り出す必要がないため、ディスクを回転させる必要はありません。
これは(パフォーマンスの観点から)良いアイデアであり、説明されているように基本的に実装されています。これをページキャッシュと呼びます。
ただし、ログファイルやデータベースに頻繁に書き込むのが一般的であり、これが説明する状況が発生します。
答え2
この答えは気に入らないかもしれませんが、非常に簡単な解決策があります。
ディスクをSSDに交換してください。
アクティブおよびアイドル状態では、従来のハードドライブよりも消費電力が少なく、アイドル状態から回復しても期待寿命にほとんど影響しません。
問題のディスクがプライマリディスクの場合、これはシステムの全体的なパフォーマンスを向上させる可能性が高くなります(または少なくとも起動時間が向上します)。