ドライブを回転させているものを確認するにはどうすればよいですか?


8

Linuxサーバーのドライブの1つで「スピンダウン」を有効にしました。これは、BitTorrentクライアントによってのみアクセスされます。つまり、トレントを実行していない場合、他にディスクにアクセスしてスピンダウンから起動する必要はありません(右? )。

しかし、何かが15分ごとにディスクを回転させています。不正な原因を追跡するにはどうすればよいですか?

フィードバックをありがとう!

回答:


8

http://samwel.tk/laptop_mode/をチェックアウトできます。このページでは主に問題について説明していませんが、IOの動作とアイデア、ディスクをシャットダウンしてサイレントにする方法についての全体像を示しています。

あなたの問題の短い答え:

エコー1> / proc / sys / vm / block_dump

次のようなメッセージがsyslogに生成されます。

7月23日10:04:05 locutusカーネル:ls(5224):dm-4のブロック7340136を読み取り
7月23日10:04:05 locutusカーネル:ls(5224):dm-4のブロック4335136を読み取り
7月23日10:04:05 locutusカーネル:ls(5224):dm-4のREADブロック15505568
7月23日10:04:05 locutusカーネル:ls(5224):dm-4上のブロック7340160を読み取り
7月23日10:04:05 locutusカーネル:ls(5224):dm-4のブロック7340168を読み取り

簡単なlsコマンドを使用しました

注:(引用):「システムがフィードバックループに入り、syslogdがディスクアクティビティを引き起こし、これによりカーネル出力が発生するため、システムロギングがシャットオフされているか、ramdisk(タイプ:tmpfs)に書き込まれていることを確認してください。これにより、syslogdはより多くのディスクアクティビティを実行します。」

/ tmpをRAMディスクとしてマウントしてから、/ tmp / syslogへのロギングを設定することをお勧めします。これは/ etc / fstab(および再起動)で行います。

なし/ tmp tmpfs defaults、size = 256M 0 0

9

Linuxでは、最近のfanotifysyscallにより、fatraceシステム全体または特定のパーティションのどのプロセスがどのファイルにアクセスしているかを通知する、優れたユーティリティが有効になりました。間違いなく、この種の私のお気に入りのツール:

deluged(6542): R /usr/share/GeoIP/GeoIP.dat
rsyslogd(1737): W /var/log/syslog
rsyslogd(1737): W /var/log/kern.log

このツールは素晴らしいです!私にとっては、ドライブを回転させるのが賢明であることがわかりました。
Alexander O'Mara

5

私はiotopを使用して、ドライブを使用しているものを把握しています。Webサイトから、「Linuxカーネル≥2.6.20、TASK_DELAY_ACCTおよびTASK_IO_ACCOUNTINGオプションが有効になっている」必要があります。

特定のドライブにのみ興味があるようです。lsofまたはfuserを使用して、そのドライブ/パーティションへのアクセスを定期的にチェックするスクリプトを作成することを検討してください。


1

プロセスがドライブへのデータの書き込みを開始している場合は、開いているファイルlsofを定期的にチェックすることで、そのことを知ることができます。

それ以外の場合は、スワップファイルが使用されているかどうかに関係なく、「free」で検索できます。


1

Linux監査を使用してドライブのマウントポイントに監視を追加し、イベント後にausearchでログを監視して、ファイルの読み取りまたは書き込み(ある場合)、およびどのプロセスがそれを実行したかを調べることができるはずです。監査は、任意のファイルシステムで読み取り、書き込み、実行、属性の変更を監視します(システムでサポートされている限り、そうでなければなりません)。


0

おそらく、inotifyを使用してファイルシステムのアクティビティに基づいてコマンドを起動するincronを使用できます。その後、マウントポイントを監視し、incronを使用してlsofをトリガーし、どのプロセスがアクセスしているかを調べることができます。


0

ディスクが何を回転させているかを確認する簡単な方法は次のとおりです。

マウントされたディスクのディレクトリに移動します。私は/ media / disk0 / transmissionでした

次に実行します: sudo fatrace -c

そのフォルダーにヒットするanytingの出力が得られます。たとえば、sshでログインしてlsを実行できます。

df(54956):CO / media / disk1 bash(55025):O / media / disk1 bash(55025):RC / media / disk1 bash(55026):O / media / disk1 bash(55026):RC / media / disk1

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.