今回はmacネタです。
macのディレクトリが減っていた
普段Linuxでコマンド叩く時に癖で、df -h
を実行してしまうのですが、今回のmacではそれが役に立ちました。
最近dockerで遊ぶことにハマってて、macにdockerを入れて楽しんでます。
で、いざターミナルを起動して、df -h
を実行すると、ディスクサイズが枯渇はしてないけれど、数日前には20Gあったサイズが、6Gほどに・・・
原因はなんなんだ?と思い、調べるために実際に使ったコマンドをナレッジとして、アップします。
どんなコマンド使ったの?
macのサポートにも記載されているコマンドで、
sudo du -g -x -d 5 / | awk '$1 >= 5{print}'
です。
duコマンドはここのコマンドページにあるように、ファイルやディレクトリのサイズを計測してくれます。
上の例では、duで出してきたサイズをawkで分解し、5GBを超える場合、ターミナルに表示するといった内容になります。
ディレクトリによっては、
Operation not permitted
が出てくることもありますが、さらに上位のディレクトリで肥大化チェックしているので、気にしなくて良いです。
他のサイズやディレクトリを指定したい場合は?
もちろん、他のサイズでも出力することができます。
例えば、1GB以上を調べたい場合、
sudo du -g -x -d 5 / | awk '$1 >= 1{print}'
とすると、簡単に調べることができます。
ディレクトリを指定して調べたい場合は、
sudo du -g -x -d 5 /System | awk '$1 >= 5{print}'
といった具合にduコマンド内で指定してあげれば良いです。
実際にどんな感じで使って行ったか
さあ、実践編です。
コマンドの使い勝手のいいやり方は、大きいサイズで圧迫してるディレクトリを洗い出し、徐々に範囲を狭めていくのが、わかりやすいかと思います。
あまり小さいサイズで洗い出しても、表示件数が多くなり、可読性が悪くなってしまいます。
まず、10Gなど大きなサイズでコマンドを実行。
実行した結果をみるとこんな感じですね
bash-3.2$ sudo du -g -x -d 5 /System | awk '$1 >= 10{print}'
・・・
du: /Users/sooota/.Trash: Operation not permitted
27 /Users/sooota
27 /Users
24 /Applications
・・・
上記の結果だと10GB以上のディレクトリが
/Users/sooota
/Users
/Applications
であるということがわかります。
/Users/sooota
/Users
と同じサイズが二つありますが、これは、
/Users
ディレクトリ内にある
/Users/sooota
と同じサイズなので、/Users
ディレクトリは調査の対象外として問題ないです。
なので、今度は/Users/sooota
を指定して、サイズを小さめで検索していきます。2GB以上のファイルを検索していきます。
bash-3.2$ sudo du -g -x -d 5 /Users/sooota | awk '$1 >= 2{print}'
・・・
こんな感じで、ディレクトリで絞っていくと、最終的に肥大化しているファイルやディレクトリが見つかります。
ただし、肥大化してるファイルやディレクトリの削除はやっていいか、必ず調べてからやってくださいね。
唐突にやってしまえ〜って勢いで削除すると最悪、アプリやmac自身が動かなくなる可能性もありますので、きちんと調べましょう!!!
調査コマンドは役に立ちますので、ぜひ、お試しあれ〜。
新着情報
ブログランキングに参加しています。クリックして応援していただけると嬉しいです。
人気ブログランキング
にほんブログ村