ディレクトリごとのディスク書き込み監視

ディレクトリごとのディスク書き込み監視

メール、データベースの書き込み、ログ、またはその他のソースからの着信にかかわらず、過度のディスク書き込みがどこで発生しているかを追跡しようとしています。サーバーには約75のアカウントがあり、一部は有効になっており、一部は有効になっていません。

ディスクへの書き込みが行われるディレクトリを指定するために、あらゆる種類のディスクI / Oコマンドを実行できますか?データベースを書くなら、私はそれが進むのを見ると期待しています/var/lib/mysql/that_database_name

- 追加 -

tail -f約2年前に私が見たものと似たようないくつかのコマンドを実行したことを思い出してください。考える指定されたフォルダ。ディスク書き込みログを追跡すると(存在する場合)、その場所またはこの形式のアクセスが望ましい結果を得ることができます。

ベストアンサー1

あなたは考えることができますパトラス、ファイルシステムへのすべての書き込みを監視できます。たとえば、次のようになります。

$ sudo fatrace -f W 
chrome(19909): W /home/meuh/.config/google-chrome/Default/Current Session
bash(2777): CW /home/meuh/.bashhistory
emacs(2100): CW /home/meuh/bin/emacs/.emacs.desktop
auditd(711): W /var/log/audit/audit.log
rsyslogd(762): W /var/log/secure

-f W実行可能ファイル、PID、および作成されたファイルを一覧表示して、すべての書き込み操作に出力を制限します。

もう一つの可能​​性はアイオスヌープブレンデンD.グレグからパフォーマンスツールディスクに書き込まれたブロックに関する低レベルの情報を提供します。

$ sudo perf-tools-master/bin/iosnoop
Tracing block I/O. Ctrl-C to end.
COMM         PID    TYPE DEV      BLOCK        BYTES     LATms
/usr/bin/mon 31456  R    8,0      9741888      4096       2.14
/usr/bin/mon 31456  R    8,0      12904784     4096       1.43
jbd2/sda3-41 416    WS   8,0      130618232    65536      1.89
jbd2/sda3-41 416    WS   8,0      210006528    8192       1.94
<...>        288    WS   8,0      129710104    61440      1.85
<idle>       0      WS   8,0      129710224    4096       0.36
cat          32111  WS   8,0      10443000     4096       0.35

いくつかのファイルセットだけを見たい場合は、もう1つの可能性は次のとおりです。inotify待つ、例えば:

$ inotifywait -m -e modify -r /tmp
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/tmp/ MODIFY myfile

-r指定されたディレクトリに対して下向きに再帰的です。設定には費用がかかり、デフォルトではユーザーは8192個の時計に制限されますが、から変更できます/proc/sys/fs/inotify/max_user_watches

おすすめ記事