こんにちは、さるまりんです。
No space left on device
こんなことを言われた時のお話です。
No space left on device
「全てのディスクスペースを使用して使えるところがもう残ってないですよ。」という意味ですね。100%使用ずみです。
ログファイルを掃除してないとか、適当にあげたファイルを置きっ放しにしてたとか、いろんな理由でこんな状況になります。
さて、どうしましょう?
何がそんなにかさばっているかを探す必要がありますね。その方法をメモします。
dfコマンド
まず一番最初に叩くのがdf
コマンドです。
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 483M 60K 483M 1% /dev
tmpfs 493M 0 493M 0% /dev/shm
/dev/xvda1 7.8G 2.0G 5.7G 26% /
df
コマンドはファイルシステムの利用状況を表示してくれます。サイズや使用済みの容量、残り、使用率などを表示してくれます。上の例では/dev/xvda1
、マウント位置/
が7.8G中2.0G使用済みなのがわかります。この状況では大丈夫ですが使用%が100%になっていると上のメッセージが表示され、ファイルを作成したり、ディレクトリを作ったりすることができなくなるわけです。-hオプションは表示が読みやすいようにつけています。
同じコマンドを-hなしで実行するとこうなります。
$ df
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
devtmpfs 494100 60 494040 1% /dev
tmpfs 504748 0 504748 0% /dev/shm
/dev/xvda1 8123812 2062668 5960896 26% /
数字の羅列で何のことやらですね。-h
はhuman readable。人が読みやすいようにということのようです。
duコマンド
次はどのディレクトリがどれくらい利用しているのかを調べるためにduコマンドを利用します。
# du -h --max-depth 1
4.0K ./cgroup
4.0K ./local
147M ./tmp
0 ./sys
4.0K ./srv
4.0K ./selinux
21M ./lib64
4.0K ./mnt
60K ./dev
43M ./opt
12M ./etc
8.0K ./run
445M ./var
214M ./lib
4.0K ./media
12M ./sbin
35M ./home
16K ./lost+found
72M ./boot
0 ./proc
36K ./root
7.0M ./bin
995M ./usr
2.0G .
これでどのディレクトリがどれくらいの容量あるかがわかります。du
コマンドも-h
オプションが使えます。あとはこのコマンドを繰り返し利用してどこでスペースをたくさんとっているのかを探っていくのです。表示されているのは100%になっている状況ではないので、たいした量ではありませんが/var
が445Mバイト使っています。みてみましょう。
# cd /var
# du -h --max-depth 1
55M ./www
4.0K ./local
8.0K ./empty
4.0K ./tmp
119M ./cache
4.0K ./preserve
16K ./db
4.0K ./opt
12K ./kerberos
136K ./run
28M ./lib
16K ./lock
4.0K ./games
223M ./log
4.0K ./account
4.0K ./nis
4.0K ./yp
22M ./spool
445M .
log
が223Mバイトです。ログファイルが溜まってるかな?といった具合ですね。
容量をとっているファイルが見つかったら削除するなり何なりしてスペースを空けると、No space left on device
と言われなくなって、再度ファイルを作成できるはずです。
いきなり上のようなメッセージが出ると焦ります。定期的なお掃除作業、大切ですね。
読んでくださってありがとうございました。
それではまた!