時には、ハードドライブが実際に動作する音が聞こえますが、実際には何も使用しないことがあります。何が有効になっているかを確認する方法はありますか?
答え1
インストールiotop
パッケージtop
各プロセスがどれだけのIOを使用しているかを確認するコマンドのバージョンです。
答え2
次のコマンドを使用してカーネルから詳細を取得できます(CONFIG_FTRACEで構成されていると仮定)。アイオスヌープ、Brendan Gregg Tracking and Performance Collectionのスクリプトの1つです。たとえば、
$ sudo /opt/perf-tools-master/bin/iosnoop
Tracing block I/O. Ctrl-C to end.
COMM PID TYPE DEV BLOCK BYTES LATms
chromium-bro 19962 R 8,0 21573632 16384 1.89
jbd2/sda3-41 416 WS 8,0 63562984 4096 2.00
kworker/1:1H 288 WS 8,0 129725080 32768 1.96
<idle> 0 WS 8,0 129725144 4096 0.39
jbd2/sda1-23 231 WS 8,0 8137984 4096 0.09
gawk 5839 WS 8,0 10314904 4096 0.35
jbd2/sda3-41 416 WS 8,0 173342200 4096 1.96
gawk 5839 WS 8,0 129725168 4096 0.33
emacs 9514 WS 8,0 132405432 65536 1.77
emacs 9514 WS 8,0 173343232 118784 1.77
...
また、ディスクには、並べ替えチェックのようなヘッドアクティビティを引き起こす可能性があるファームウェアがあることに注意してください。
答え3
Ubuntuはfatrace
この目的のために書かれました。
が見つからず、fatrace
デバイスノードを直接開くプロセスがない場合(lsof /dev/sd*
これはカーネルの問題です)。
カーネルエラーの例:ハードドライブが10秒ごとに回転して再び回転します。 「fatrace」にアクセス権が表示されません。
注目すべきカーネルの1つは、定期的な書き込み保存です。ファイルシステムは後書きキャッシュを使用していることを覚えておいてください。 デフォルトでは、同期されていない書き込みは、ディスクにフラッシュされる前に5秒間キューに入れることができます。。
答え4
ほとんどの最新のハードドライブには独自のコントローラがあります。実際には何でもできます。
- 物理ストレージのキャッシュに書き込む(ディスクコントローラ内)
- ディスクが常に同じ速度で回転するように速度を調整します。
- ディスク入力
standby
またはsleep
(一部は自動的に実行され、一部は設定可能ですが、そうではありません)。 - または読み書きできる実際のデーモンです。
hdparm
ディスクの仕組みを理解するいくつかの標準的な方法がありますが、機能はたくさんあります。多くのディスクでサポートされていません。ディスクに関するいくつかの便利なクエリは次のとおりです。
hdparm -b /dev/<disk>
:バス現況hdparm -B /dev/<disk>
:電源管理情報(自動で待機状態に入りますか?)hdparm -M /dev/<disk>
:acoustic Management (速度制御、このクエリをサポートするディスクは見たことがないがhdparm
)
ディスクが損傷していることを確認するために使用できます。可能自分で何かしてみてください。ディスクが実際にそうするかどうかはわかりません。これは内部ファームウェアによって決まります。
前述の「実際のデーモンがディスクから読み取るかディスクに書き込む」という最後のオプションは、次のように確認できます。
hdparm -y /dev/<disk>
強制モードに切り替えるために使用されますstandby
。- 適切な時間(おそらく1時間)を待ってください。
hdparm -C /dev/<disk>
モードが維持されていることを確認するために使用されますstandby
。
hdparm
注意:ほとんどのディスクはほとんどの(ATA / SATA)コマンドをサポートしていません。しかし、通常、それらの少なくともいくつかをサポートします。お客様のマイルは大きく異なる場合があります。