VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

ディスク使用量が増えた時にどのディレクトリが原因か調べる

ディスク使用量が増えてきた場合、どのディレクトリが増えているのかまず調べる必要があります。調査方法の一例を紹介します。
※以下の記事も参照。
Linuxでディスク使用量が多いディレクトリを調べる方法

1)dfコマンドで現在のディスク使用量を表示


 
例)
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  6.0G   11G  37% /
tmpfs                1004M  512K 1003M   1% /dev/shm
/dev/vda1             485M   73M  387M  16% /boot
/dev/vdb              178G  188M  168G   1% /data

 

2)duコマンドでディレクトリ単位に調査


 
下記コマンドで、調べたいディレクトリ内のサブディレクトリの使用量を表示し、多い順に表示します。
du -ms /ディレクトリ名/* | sort -nr
 
例)
この例では”/”ディレクトリ配下のディレクトリの使用量を表示しています。
# du -ms /* | sort -nr
du: cannot access `/proc/25854/task/25854/fd/4': No such file or directory
  :
2941    /usr
1578    /home
878     /var
322     /lib
63      /boot
  :

※オプションの説明
・m
単位をMバイトにする。
・s
ファイルやディレクトリの総計を表示する。
 

3)duコマンドで使用量の多いディレクトリを同様に調査


 
例)
この例では”/”直下では”/usr”の使用量が多かったので、”/usr”配下のディレクトリ使用量を調べています。
# du -ms /usr/* | sort -nr

854     /usr/local
831     /usr/share
735     /usr/lib64
208     /usr/java
116     /usr/lib
106     /usr/bin
48      /usr/libexec
25      /usr/sbin
21      /usr/include
1       /usr/src
1       /usr/games
1       /usr/etc
0       /usr/tmp

 

4)ドッドから始まるディレクトリがある場合


 
下記例1)を見ると分かるように”/home/rails”の使用量は1575mのはずなのに、”/home/rails/*”と指定するとドッドから始まるディレクトリが含まれていないため、使用量は少なくなっている事が分かります。
 
例1)”/home/rails/*”と指定するとドッドから始まるディレクトリが含まれない。
 
# du -ms /home/* | sort -nr
1575    /home/rails
4       /home/wordpress
1       /home/test-wp
1       /home/aipo_postgres
1       /home/admin
 
# du -ms /home/rails/* | sort -nr
43      /home/rails/updates
22      /home/rails/rails_projects
3       /home/rails/blog1
2       /home/rails/blog
1       /home/rails/test-temp
1       /home/rails/test
1       /home/rails/msg
1       /home/rails/kaisya_b2_wt
1       /home/rails/default
1       /home/rails/classic
1       /home/rails/Videos
1       /home/rails/Templates
1       /home/rails/Public
1       /home/rails/Pictures
1       /home/rails/Music
1       /home/rails/Maildir
1       /home/rails/Downloads
1       /home/rails/Documents
1       /home/rails/Desktop

 
ドッドから始まるディレクトリも含める場合は、下記のように指定します。
例2)

#  du -ms /home/rails/* /home/rails/.[^\.]* | sort --nr
1166    /home/rails/.rvm
147     /home/rails/.bundler
126     /home/rails/.netbeans
49      /home/rails/.cache
43      /home/rails/updates
22      /home/rails/rails_projects
14      /home/rails/.gem
4       /home/rails/.heroku
3       /home/rails/.netbeans-derby
3       /home/rails/blog1
2       /home/rails/blog
1       /home/rails/.zshrc
1       /home/rails/.zprofile

 
※例2)の[^\.]の部分がないと、下記のように”.”と”..”の部分も表示されてしまいます。

#  du -ms /home/rails/* /home/rails/.* | sort -nr
1578    /home/rails/..
1575    /home/rails/.
1166    /home/rails/.rvm
147     /home/rails/.bundler
126     /home/rails/.netbeans
49      /home/rails/.cache
43      /home/rails/updates
22      /home/rails/rails_projects
14      /home/rails/.gem
モバイルバージョンを終了