LinuxOS(CentOS)を使っていて新しくファイルを作成しようとしたときに、
「No space left on device」というエラーが出たときの対処・解決方法です。
このエラー、文字通り読むと「ディスクにスペースがありません」というような意味合いに読めます。
なのでまずはdfコマンドでディスクの空きを確認してみます。
$ df
ここで100%になっているディレクトリがあれば不要なファイルを削除するなり整理してディスクを空けます。
ただこのエラーが出るときはdfコマンドで見ても100%になっておらず、空きがあるように見える場合があります。
その場合はdfコマンドに-iというオプションを付けてみてください。
$ df -i
この結果、100%もしくはそれに近い数値があった場合、そこが原因です。
この-iのオプションを付けると、サイズではなくiノードの情報を表示することができます。
iノードとは簡単に言うと、ファイルの管理情報を保存するための領域になります。
なので、No space left on deviceとは、これ以上ファイルの管理情報を保存するための場所が無いので、ファイルを作成できません。というエラーという事になります。
このエラーを出なくするには、単純に増えすぎたファイル数を減らせばいいので、ファイル数が多い場所を探します。
そのためにこちらのコマンドを叩きます。
$ find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -nr
このコマンドを叩くと、各ディレクトリに存在するファイル数が表示されます。
findのあとが調べたいディレクトリになるので、上のコマンドだと / となっているのでルートディレクトリを検索します。
ここを調べたいディレクトリや、./ などに変えてファイル数の多い場所を探して不要なファイルを削除していきます。
すると不要ファイルの削除によりiノードの空きが確保できれば、また新しくファイルを作成することができるようになります。
コメント