centos 7.0 を実行している EC2 インスタンスのハードディスク領域はゆっくりと消費され、再起動後に更新されます。
内容:基本OS、Cloudwatchエージェント、CodeDeployエージェント、nginx、アンチウイルスMacFee、Javaアプリケーション(ログファイル制御)。
再起動前のスクリーンショット1:使用されるディスク容量75%
このスクリーンショットに基づいて、最もスペースを占める10個のファイルが見つかりました。一番上には/ procがあります。
スクリーンショット2再起動後:使用されるディスク容量9%
使用中のファイルが更新されましたが、問題がアプリケーションによって発生したのか、他のコンポーネントによって発生したのかを判断できませんでした。
答え1
出力を誤って読みました。問題の行は、使用するように要求された一部のファイルを読み取ることができない/proc
ため、エラーメッセージです。これは、そのファイルがシステムで最大の10個のファイルの1つであることを示していません。とにかく、du
find
/proc
スティーブ前述したように、それは/proc
独自の仮想ファイルシステムであり、ドライブの容量を占有しません。
関連のないファイルを一覧表示したくない場合は、find
このオプションを使用してファイルシステムの境界を超えないように指示できます-xdev
。
問題の原因と思われるファイルは次のとおり/var/log/awslogs.log
です/var/log/awslogs.1
。最初のコマンドはそのファイルをシステム内の最大2つのファイルとしてリストし、2番目のコマンドの出力には表示されません(またはむしろ小さくなります。もっとawslogs.log.1
理解しています)。リスト)。
答え2
これは、stdoutをパイプしてstderrを抑制しないときに発生する現象です。
ジョブを完了する前に入力バッファー全体を持たなければならないため、sort
検索が完了するまで実際に出力が渡され始めません。head
find
ただし、stderrを抑制しないため、ファイルの表示と開始du
の間に存在しないファイルについてエラーが報告され、これらのエラーメッセージはファイルが発生したときに報告されます(stderrはバッファリングされていないため)。find
du
ソートおよびヘッダーパイプなしでfindコマンドを実行すると、何が起こるかを確認できます。