Mac OS X 10.6.4 Snow Leopard Serverファイルサーバー(AFP)がありますが、過去数週間、ブートボリュームのストレージスペースが不足しています。 Sudo du -chsx -I dev /
にはまだ29GBしか使用されていないことが示されていますが、80GBのブートボリュームの残りの42GBが使い果たされるまでに約2日かかります。
私は過去にこれに遭遇しましたが、ApacheログがN日後に削除されたLinuxサーバーがありましたが、ログはまだApacheによって開いたままであり、ストレージが解放されませんでした。その場合、Sudo lsof
を使用して比較的簡単に追跡できましたが、この場合の原因を簡単に見つけることはできません(ファイルサーバーであるため、ton =開いているファイルとソケットの)。 lsof
出力をファイルサイズで並べ替えて(そして人間にわかりやすい形式でサイズを表示して)、原因を見つけるにはどうすればよいですか?
サーバーには3GBのRAMがあります。 4時間稼働した後、アクティビティモニターには、700 MBの空き容量、1.5 GBの非アクティブ状態、200GBのVMが表示されます。 mds
は1.8GBで最大のVM使用量、500MBで2位のAppleFileServer
、その他すべては10MB〜75MBのVMを使用しています。 、/ private/var/vmはわずか128MBです。
システムを再起動すると問題が解決するため、一部のプロセスによって開いたままになっているのは空きストレージスペースであると私は信じています。
その他の仮説、提案などは大歓迎です。
あなたはで最大の開いているファイルを見つけることができます:
Sudo lsof -s | awk '$5 == "REG"' | sort -n -r -k 7,7 | head -n 50
これにより、通常のファイル(パイプ、ソケットなどではない)がサイズの降順で並べ替えられ、上位50個が取得されます。
また、次のように、最も多くのファイルを開いているプロセスを確認することもできます。
Sudo lsof | awk '$5 == "REG" {freq[$2]++ ; names[$2] = $1 ;} END {for (pid in freq) print freq[pid], names[pid], pid ; }' | sort -n -r -k 1,1
Sudo lsof | grep deleted
を見てみます
Sudo lsof +L1
は削除されたファイルを表示します。速度を上げるには、これを-Pn
と組み合わせます。
例えばlsof -Pn +L1