
メール、データベースの書き込み、ログ、またはその他のソースからの着信にかかわらず、過度のディスク書き込みがどこで発生しているかを追跡しようとしています。サーバーには約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
。