2013-03-01から1ヶ月間の記事一覧

crond の -x オプションについて

おいちゃん(さん) こと id:inouetakuya の MySQL ログのローテーション設定(logrotate)(flush-logs が cron で動かないときの対処を含む を読んだ後、cron のデバッグ用のオプションって何かあるのかな〜 と man 8 crond を眺めていました。 -x オプショ…

Apache の mod_cgid と surrogate parent model について

monit のデッドロックを追っていた件から派生して、 pthread 全然知らんなーということで表紙がきもちわるいことで有名な(?) 『Pthreadsプログラミング』を読んでました。 Pthreadsプログラミング作者: Bradford Nichols,Dick Buttlar,Jacqueline Proulx Far…

Apache MPM worker の pmap が分からんという話から Linux pthread (NPTL) のスタックサイズとガード領域まで

ひょんなことから 32bit カーネルで動いている Apache (MPMは worker = マルチスレッド) を /usr/bin/pmap で調べていました。調べている中で pthread のスタックの割当テ方にも興味がわいたので glibc なども深追いして調べました。以降の内容は次の環境で…

monit 5.4 のバグ - マルチスレッドでfork(2)してデッドロック

プロダクション環境で使用していた monit 5.4 がデッドロックを起こしていたので調査をしていました。なお、本エントリで記述されているバグは monit 5.5 で修正されています 要約 長い内容なので最初にまとめておくと monit はマルチスレッドアプリケーショ…

gdb のRPM に付属する /usr/bin/gstack, /usr/bin/gcore コマンド

Scientific Linux 6 系の gdb の RPM に /usr/bin/gstack, /usr/bin/gcore というスクリプトが含まれているのを知りました。どちらも gdb をラップしたシェルスクリプトです。 (追記: CentOS5 の gdb にも入ってました ) /usr/bin/gstack 指定したプロセス(…