ではありません。
livedoorブログがpsgiに移行したりなんかするこのご時世になぜかmod_rewriteとfcgiを使って頑張っているmix3です。
ulimitの話
とある事情でapacheのinit.dにulimitを設定していて、メモリを使いすぎる、とかCPU使いすぎるとfcgiプロセスを殺してもらうようにしていたのですが、
「それ子(fcgi process)だけじゃなくて親(httpd)まで殺しちゃわない?」
と @fujiwara さんの有り難いお言葉が飛び出して大慌てでulimitを外すということが発生しました。
しかもgracefulだと設定変更効かないからロードバランサから外して一台ずつリスタート掛けて行かなければならず…
再度設定する場合にどうするのか
とある事情は変わらないのでulimitの設定を戻さないと行けないが、どうすれば良いのか思いつかないので @fujiwara さんに考えて頂いたところ、
- index.fcgiをindex.fcgi.plとか適当に変える
- index.fcgiは中身shスクリプトにしてそこにulimitを書く
というのはどうか?と提案を頂きまして、いけそうな感じなのでそれで行こうかなぁとなっています。 @fujiwara さんありがとうございました。
ulimitの設定どうやって確認するの?
と、ロードバランサから1台外してinit.d からulimitを消してリスタートしたところでふと思い聞いたところ
cat /proc/$(cat /var/run/httpd.pid)/limits
「こういう感じかな」と教えていただきました。備忘録。
という記事を8月中ぐらいに書いていて放置プレイしてたので改めて残しておく