こんな警告
サーバーにSSH接続しようとしたところ、こんな警告文が出ました。
SSH接続は出来ますが何とも気持ち悪い...
ヒアドキュメント用一時ファイルを作成できません: デバイスに空き領域がありません
空き領域が無いようなのでdfコマンドで確認すると以下のようになっていました。
使用率が100%になってますね。
df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos-root 14G 14G 36K 100% /
原因
恐らく負荷テストでリクエストを送りまくったことで、ログファイルがとんでもないサイズになっていると仮説を立てました。
ログファイルを確認したところ、サイズが9GB以上になっています。
-rw-rw-r-- 1 hoge hoge 8403185664 1月 8 01:09 production.log
-rw-rw-r-- 1 hoge hoge 991581155 1月 8 01:58 unicorn.stderr.log
解決
ログファイルに/dev/nullをコピーしてログファイルの中身を空にしました。
これで警告が出なくなったので解決!
cp /dev/null production.log
-rw-rw-r-- 1 hoge hoge 0 1月 8 09:25 production.log
-rw-rw-r-- 1 hoge hoge 0 1月 8 09:26 unicorn.stderr.log
補足
「ヒアドキュメント用一時ファイルを作成できません: デバイスに空き領域がありません」で調べてみたところ、デプロイやコンパイルが出来なくなったりする事象もあるようです。
サーバー自体の挙動がおかしくなるようなので、事前に何らかの対処が必要ですね。(今回の場合は、古いログを自動で削除するようなスクリプトを書くか、OSやアプリケーションサーバでログを自動削除するような設定をするか...)