今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

Wordpressの動作不良の原因はi-node枯渇だった

数日前にWordpressで記事を書こうと思って、その記事用の画像をアップロードしようとしたら、「一時フォルダが見つかりません」なんてエラーが出てアップロードに失敗した。

ぐぐってみてもそれっぽい情報が得られないまま。

他の仕事で忙しかったので放置してたんだけど、今日もちょっと調べてみた。

なにかをしようとしたところ、fopen()でエラーが発生したみたいなメッセージが出た。さらに、wp-config.php でログファイルにエラーの内容を出力するようにしてみたんだけど、ログファイルが作られないという謎の現象。

いろいろと調べてたら、なんと i-node を使いきっているということが判明した。

[root@dti spool]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/simfs           18446744069835526396 18446744069420584321 414942075  100% /
none                  524288      38  524250    1% /dev

df -i したら、なんかすごい数が表示されたし。

i-node を減らすにはファイルを削除するしかないわけで。そこで、消してもいいファイルを探してみたところ、/var/spool/clientmqueue ってところに膨大なファイルが作られているということを発見。ls で表示しようとしてもまったく反応しないほど大量に作られているらしい。

[root@dti spool]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/simfs           6000000 5978710   21290  100% /
none                  524288      38  524250    1% /dev

思い切ってディレクトリごと削除する。

$ rm -fr /var/spool/clientmqueue

削除するのに1時間近くかかった。

[root@dti spool]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/simfs           6000000  405181 5594819    7% /
none                  524288      38  524250    1% /dev

ここのファイルをcronで自動的に削除するようにしなきゃなー。