2012年7月3日火曜日

mysqldにcoredumpを吐かせる

coreを吐かせてもback trace眺めるくらいしかできないけれど、一応。

/etc/my.cnf(あるいはそれに準ずる)のmysqldセクションに
core-file
を追加。

rootで/etc/init.d/mysqldを叩いている環境の場合これだけでは吐かないので、
echo 1 > /proc/sys/fs/suid_dumpable
でsuidしててもcoreを吐くように設定。

/procの下はパワーサイクルで揮発するので、永続化したければ
/etc/sysctl.confに
fs.suid_dumpable=1
を設定しておく。

ここでmysqldを再起動。これでcore吐く様になる。


ただし、このままの設定だとdatadirにメモリ使用量と同じだけのファイルサイズを吐き出すので注意。
(パースファイルだろうから、そのまままるっとストレージを食う訳ではないけれども。一応)


追伸。
ulimit -c unlimited 忘れてた。。
永続化する場合は/etc/security/limits.confに記載。

0 件のコメント :

コメントを投稿