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項目を表示する |