投稿記事の閲覧数に関して色々情報を取得する事が出来るプラグインとしてwp-postviewsを使用しているのですがある時点から Viewsウィジェット を使用している記事表示が N/A(未だ情報がありません)状態になってしまい正しく表示されなくなってたんですよね。
調べようと思いつつ放置していたんですが少し時間が出来たので調べてみました。
目 次
現象
wp-postviewsを使用して閲覧数の多い記事をリスト表示しようとしてもその表示がN/Aになっていた。
当該サイトだとサイドバーにある人気記事って部分になるんですが。
調査
実際にN/Aを出力しているPHP部分を確認してみるとselectの結果が正しく返って来ていない様なのでその部分のSQL文をコマンドラインで実行すると、/tmp配下にファイルが出来ません。旨のメッセージが出力されています。
とぃう訳で df -h コマンドで確認してみると、
overflow 1.0M 1.0M 0 100% /tmp
なんて状態に。
このoverflowは、/tmpの容量がないときにRAMディスクに/tmpを割り当てた場合に作成されるようですね。
ある時、/tmpの下に巨大なログを出力してmysqld自体が動作しなくなった時がありまして当該、/tmp配下のログを削除すると一応、mysqldの動作は正常に戻ったんですけどね。
そのまま稼動し続けているとこんな状態に。
とりあえずこのoverflow 状態の/tmpを元に戻す為に色々調べてみたいのですが結局わからず再起動を実施。
再起動後、df -h コマンドで確認してみると上記のoverflow ファイルシステムの/tmpは消え通常のファイルシステムとして表示されるようになりました。
更にコマンドラインからのSQL実行も正常に値が取得できるようになりwp-postviewsの内部でもエラーとならなくなりました。
というわけで、
原因
原因としては /tmp に容量が無いという状態になっていた為(?)
解決方法
サーバー再起動。
ん~何かホントにこれで良いのかなぁ~?って感じですが一応、上手く動作し始めましたので報告。
実際はこんなことが原因だよぉ~なんて情報があれば是非教えてくださいね。
ちなみに定時稼動のチェックシェル内でoverflow の作成がされていないかのチェックも追加しました。