Iostat -x 1を実行すると、5MBから10MBの書き込みがときどき大きくなります。
どのファイルが書き込まれていますか?
たとえば、最近作成された5MBを超えるサイズのファイルを確認したいと思います。
どうすればいいですか?
find /path -cmin -X
Sign before minute:
+ more than X minutes / over X minutes
- less than X minutes / within X minutes
(no sign) exact
例:過去30分以内に変更された/ var/log(サブディレクトリを含む)内のすべてのファイルを検索する
find /var/log -cmin -30
find /path -size +X<unit>
Sign before size:
+ larger than
- less than
(no sign) exact
<unit> :
b = block (default,512byte)
c = byte
w = Word (2-byte)
k = kbyte
M = Mbyte
G = Gbyte
例:/ var/log(サブディレクトリを含む)内の50kより大きいすべてのファイルを検索します
find /var/log -size +50k
例:過去30分以内に変更された50kより大きい/ var/log(サブディレクトリを含む)内のすべてのファイルを検索する
find /var/log -cmin -30 -size +50k
結果に50kを含めるにしたい場合は、に変更します。
find /var/log -cmin -30 -size +49k
[〜#〜] ps [〜#〜]:find / .....
は時間がかかるだけでなく、ディレクトリ(/ dev、/ sys、/ proc、 ...)一般的に検索には適していません。
find
を使用すると、ファイルシステム上のファイルを積極的に検索し、それらのタイムスタンプを信頼する必要があります。
最近のLinuxシステムの代替は inotify です。その場合、カーネルはファイルシステムの変更が発生したときにそれを監視し、たとえばinotifywait -m
を使用してそれらを照会できます。それはあなたにリアルタイムで何が起こっているかについての良い考えを与えるはずです。
大規模なディレクトリツリーを再帰的に監視する場合、inotifyアプローチはうまく機能しません。その場合、find
はどのディレクトリを監視するかを示します。