Linuxのディスク使用量の確認コマンド

チームでLinuxを共有しているとき、ディスクの使用容量が足りなくなることはしばしばある。このような時、どのファイルが大きいのか、誰が一番ディスクを使っているのかを確認した時のTips。

まずは、システム全体のディスクの使用容量を確認する:

# df -Th
[root@mnode 14:03:32 debug]# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root      ext4      291G  163G  128G  57% /
devtmpfs       devtmpfs  7.9G     0  7.9G   0% /dev
tmpfs          tmpfs     7.9G  4.0K  7.9G   1% /dev/shm
tmpfs          tmpfs     1.6G  2.2M  1.6G   1% /run
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/loop1     squashfs   56M   56M     0 100% /snap/core18/2751
/dev/loop2     squashfs   64M   64M     0 100% /snap/core20/1822
/dev/loop3     squashfs   64M   64M     0 100% /snap/core20/1891
/dev/loop5     squashfs  344M  344M     0 100% /snap/google-cloud-cli/139
/dev/loop7     squashfs   54M   54M     0 100% /snap/snapd/19122
/dev/loop6     squashfs   92M   92M     0 100% /snap/lxd/24061
/dev/loop8     squashfs   54M   54M     0 100% /snap/snapd/19361
/dev/sdb1      ext4       98G   26G   73G  27% /opt
/dev/sda15     vfat      105M  6.1M   99M   6% /boot/efi
tmpfs          tmpfs     1.6G  4.0K  1.6G   1% /run/user/1001
/dev/loop11    squashfs   56M   56M     0 100% /snap/core18/2785
/dev/loop0     squashfs  345M  345M     0 100% /snap/google-cloud-cli/143
tmpfs          tmpfs     1.6G  8.0K  1.6G   1% /run/user/1003

自分がどのファイルシステムを使っているのか、そしてそのマウント先についてはこちらで確認できる。↑の例では、ルートディレクトリが57%使用されている。ホームディレクトリは別のディスクやパーティションに分かれていない。

ファイルサイズやディレクトリの使用量を調べる場合、duコマンドを使用する。

各一般ユーザーごとのホームディレクトリ使用容量を確認するには次のコマンドを用いる。

# du -sh /home/*

35G     /home/imato
51G     /home/mikami

その中で、特定のユーザーのサブディレクトリのサイズを降順に出力したい場合:

# du -sh /home/mikami/*
[root@mnode 14:03:33 debug]# du -sh /home/*
35G     /home/imato
7.6M    /home/lsfadmin
51G     /home/mikami
20K     /home/shin
8.0K    /home/ubuntu
[root@mnode 14:09:43 debug]# du -sh /home/mikami/*
96K     /home/mikami/Install.log
172M    /home/mikami/NVIDIA-Linux-x86_64-460.106.00.run
23G     /home/mikami/allegro-lammps
148K    /home/mikami/allegro_lsf_a100.log
3.3G    /home/mikami/cuda_11.7.0_515.43.04_linux.run
4.1G    /home/mikami/cuda_12.1.1_530.30.02_linux.run
358M    /home/mikami/go
12K     /home/mikami/install.config
1.5G    /home/mikami/lammps
14G     /home/mikami/lammps-collumn
148K    /home/mikami/lsf_gcp.log
36K     /home/mikami/lsf_getting_started.html
144K    /home/mikami/lsf_quick_admin.html
1.4G    /home/mikami/lsfsce10.2.0.12-x86_64
1.7G    /home/mikami/lsfsce10.2.0.12-x86_64.tar.gz
72K     /home/mikami/nvidia-persistenced-init
8.0K    /home/mikami/nvidia-persistenced-init.tar.bz2
1.1M    /home/mikami/pair_allegro
36K     /home/mikami/profile.lsf
230M    /home/mikami/singularity-ce-3.8.0
7.6M    /home/mikami/singularity-ce-3.8.0.tar.gz
1.1G    /home/mikami/slurm-23.02.2
7.0M    /home/mikami/slurm-23.02.2.tar.bz2
20K     /home/mikami/snap
4.0K    /home/mikami/ssh-keygen-reset.sh
0       /home/mikami/stderr.12.log
0       /home/mikami/stderr.16.log
0       /home/mikami/stderr.17.log
4.0K    /home/mikami/stderr.7.log
0       /home/mikami/stderr.8.log
4.0K    /home/mikami/stdout.12.log
4.0K    /home/mikami/stdout.16.log
4.0K    /home/mikami/stdout.17.log
4.0K    /home/mikami/stdout.7.log
4.0K    /home/mikami/stdout.8.log
4.0K    /home/mikami/test.sh
4.0K    /home/mikami/thinclient_drives
4.0K    /home/mikami/ダウンロード
4.0K    /home/mikami/テンプレート
4.0K    /home/mikami/デスクトップ
4.0K    /home/mikami/ドキュメント
4.0K    /home/mikami/ビデオ
4.0K    /home/mikami/ピクチャ
4.0K    /home/mikami/ミュージック
4.0K    /home/mikami/公開

のようにする。

さて、ここで出力したサブディレクトリをサイズで降順に並べ替えて、上位10個を出力しようと思う。これには、以下のコマンドを用いる。

# du -sh /home/mikami/* | sort -hr | head -10
[root@mnode 14:10:19 debug]# du -sh /home/mikami/* | sort -hr | head -10
23G     /home/mikami/allegro-lammps
14G     /home/mikami/lammps-collumn
4.1G    /home/mikami/cuda_12.1.1_530.30.02_linux.run
3.3G    /home/mikami/cuda_11.7.0_515.43.04_linux.run
1.7G    /home/mikami/lsfsce10.2.0.12-x86_64.tar.gz
1.5G    /home/mikami/lammps
1.4G    /home/mikami/lsfsce10.2.0.12-x86_64
1.1G    /home/mikami/slurm-23.02.2
358M    /home/mikami/go
230M    /home/mikami/singularity-ce-3.8.0

まとめ

Linuxのディスク使用量を確認するときのコマンドまとめ。

コマンド 説明
df -Th システム全体のディスクの使用量を表示する。
du -sh ディレクト 特定のディレクトリのサイズを調べる
du -sh ディレクトリ/* 特定のディレクトリ配下のサブディレクトリやファイルのサイズを調べる
du -sh ディレクトリ/* | sort -hr | head -10 特定のディレクトリ配下のサブディレクトリやファイルのサイズを調べ、サイズで降順に並び替えた後に上位10項目を表示する