/procは徐々にハードディスク容量を消費します。

/procは徐々にハードディスク容量を消費します。

centos 7.0 を実行している EC2 インスタンスのハードディスク領域はゆっくりと消費され、再起動後に更新されます。

内容:基本OS、Cloudwatchエージェント、CodeDeployエージェント、nginx、アンチウイルスMacFee、Javaアプリケーション(ログファイル制御)。

再起動前のスクリーンショット1:使用されるディスク容量75%

このスクリーンショットに基づいて、最もスペースを占める10個のファイルが見つかりました。一番上には/ procがあります。

ここに画像の説明を入力してください。

スクリーンショット2再起動後:使用されるディスク容量9%

使用中のファイルが更新されましたが、問題がアプリケーションによって発生したのか、他のコンポーネントによって発生したのかを判断できませんでした。

ここに画像の説明を入力してください。

答え1

出力を誤って読みました。問題の行は、使用するように要求された一部のファイルを読み取ることができない/procため、エラーメッセージです。これは、そのファイルがシステムで最大の10個のファイルの1つであることを示していません。とにかく、dufind/procスティーブ前述したように、それは/proc独自の仮想ファイルシステムであり、ドライブの容量を占有しません。

関連のないファイルを一覧表示したくない場合は、findこのオプションを使用してファイルシステムの境界を超えないように指示できます-xdev

問題の原因と思われるファイルは次のとおり/var/log/awslogs.logです/var/log/awslogs.1。最初のコマンドはそのファイルをシステム内の最大2つのファイルとしてリストし、2番目のコマンドの出力には表示されません(またはむしろ小さくなります。もっとawslogs.log.1理解しています)。リスト)。

答え2

これは、stdoutをパイプしてstderrを抑制しないときに発生する現象です。

ジョブを完了する前に入力バッファー全体を持たなければならないため、sort検索が完了するまで実際に出力が渡され始めません。headfind

ただし、stderrを抑制しないため、ファイルの表示と開始duの間に存在しないファイルについてエラーが報告され、これらのエラーメッセージはファイルが発生したときに報告されます(stderrはバッファリングされていないため)。finddu

ソートおよびヘッダーパイプなしでfindコマンドを実行すると、何が起こるかを確認できます。

関連情報