[Linux] inodeの使用を解放するには?


Answers

非常に不運な場合は、すべてのiノードの約100%を使用しており、sciptを作成することはできません。 これはdf -ih確認できます。

次に、このbashコマンドはあなたを助けるかもしれません:

sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

そして、はい、これには時間がかかりますが、ほとんどのファイルでディレクトリを見つけることができます。

Question

iノードの使用率が100%のディスクドライブがあります( df -iコマンドを使用)。 ただし、ファイルを実質的に削除した後も、使用率は100%のままです。

その後、それを行う正しい方法は何ですか?

ディスクスペースの使用量の少ないディスクドライブの方が、ディスクスペースの使用量が多いディスクドライブよりInodeの使用率が高くなる可能性はありますか?

ファイルをたくさんジップすると、使用されているinode数が減る可能性はありますか?




eacceleratorはPHPをブロックにコンパイルするので問題を引き起こす可能性があります...負荷の高いサイト上のAmazon AWSサーバーでこの問題が発生しました。 引き続き問題が発生した場合は、/ var / cache / eacceleratorのeacceleratorキャッシュを削除してInodeを解放してください。

rm -rf /var/cache/eaccelerator/*

(またはあなたのキャッシュディレクトリ)




プロセスが削除されたファイルを参照する場合、Inodeは解放されないので、lsof /をチェックし、プロセスをkill / restartしてinodeを解放する必要があります。

ここで間違っていれば私を訂正してください。




メールディレクトリはファイルでいっぱいです:

/ home / username / Maildir / new




前にも述べたように、小さなファイルがたくさんあると、ファイルシステムのinodeが不足することがあります。 私はhereほとんどのファイルを含むディレクトリを見つける手段を提供しhere 。




私の解決策:

これがinodeの問題であるかどうかを調べてみましょう:

df -ih

大きなinode数を持つルートフォルダを見つけようとする:

for i in /*; do echo $i; find $i |wc -l; done

特定のフォルダを探してみてください:

for i in /src/*; do echo $i; find $i |wc -l; done

これがLinuxのヘッダである場合、最も古いものを削除してみてください:

sudo apt-get autoremove linux-headers-3.13.0-24

個人的に私はマウントされたフォルダに移動しました(最後のコマンドが失敗したため)、最新のものをインストールしました:

sudo apt-get autoremove -f

これは私の問題を解決しました。




Links