ディスク占有犯は誰!SUSE Linux でディレクトリの占有量を調査 ncdu

ncdu によって、ファイルを大量に保存してシステムを圧迫している犯人捜しの旅です。

- df と du -

先日どうも samba の調子が悪いなぁと思って、いろいろ調べているうちに、こりゃお馴染みのHDDの故障かな、随分古いディスクだし。という事でリブートしてみたら、なんと今度はXENが起動しない。

原因分からないなぁ、という事でデーモンだけ再起動して、ログを見たら容量不足でログが書けないというエラーが見つかった。慌てて

# df -h

してみたら、/var の下が満杯なんですね。でまぁことは仮想マシンの置き場です。随分と残骸が溜まっているじゃないか、という事で古いバックアップなんかを削除してみました。

この手のコマンドで他に良く使うコマンドが du です。du は、そのまま使うと、ディレクトリを舐めまくだらだらって表示されるので、次のオプションを使うと良いでしょう。

-s はディレクトリの合計を表示する
-c は全てのディレクトリの合計も表示する

オプションです。ただしバイト表示なので、 -h (human) を付けて見やすく表示しました。


sles11:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda8 50G 30G 20G 60% /
udev 3.8G 300K 3.8G 1% /dev
tmpfs 3.8G 6.4M 3.8G 1%/ /dev/shm
/dev/sda6 164M 24M 140M 15% /boot/efi
/dev/sda9 493G 384G 84G 83% /var <-- お前が犯人か
/dev/sda3 48G 19G 30G 39% /windows/C
/dev/sda4 98G 107M 98G 1% /windows/D
/dev/sda11 148G 94G 48G 67% /share
/dev/sdb2 1.8T 1.7T 4.2G 100% /hdd/sdb

sles11:~ # du -s -h /var/lib/xen
378G /var/lib/xen <--ここにファイルがごっちょりある

sles11:~ # du -s -c -h /var/lib/xen
378G /var/lib/xen
378G total
sles11:~ #




ただし、ここまで面倒だと使い辛いな、もっと便利で一発でパーティションを占有しているディレクトリを探せないかと探したらありました。 ncdu ツールです。

Ncdu

NCurses Disk Usage

- SUSE Linux (openSUSE, SLE )へ ncdu のインストール -

SUSE Linux (openSUSE/SLE) への ncdu のインストールは、openSUSE のソフトウェアページから、1 Click インストールできます。

YaST (yast2) による SUSE Linux のパッケージ管理, インストールと削除

まず、インストールされているブラウザから openSUSE のソフトウェアページを開きます。


# firefox https://software.opensuse.org/ &


検索ボックスから "ncdu" を検索し、使っているディストリビューションの "1 click Install" ボタンを押します。

ディスク占有犯は誰!SUSE Linux でディレクトリの占有量を調査 ncdu_a0056607_13191663.png

あとは、YaST の 1 Click インストールのウィザードに従ってインストールします。

SUSE で 1 Click インストールができない



- ncdu の操作 -

# ncdu [option] [Directory]

でディレクトリを指定してディレクトリ配下の、肥え太ったディレクトリを探します。 [Directory] を省略すると、カレントディレクトリ以下を探します。ファイルシステムの、ルート(/) から探したい場合は

# ncdu /

を実行します。/ から指定すると、時間がかかります。

今回は /var を調べたいので

# ncdu /var

を実行しました。

指定したディレクトリ以下は自由に動き回って犯人捜しをします。 "i" コマンドでディレクトリの Information をウィンドウ表示します。

こんな感じ。

ディスク占有犯は誰!SUSE Linux でディレクトリの占有量を調査 ncdu_a0056607_13205984.png

カーソルキー<>で移動しながら、犯人捜しをします。コンソールとのインターフェース、オプションはマニュアルをご参考下さい。

Ncdu Manual

終了する時は "q" で終了します。









by islandcenter | 2019-12-05 13:39 | SUSE | Comments(0)