ハードウェア構成とか、どんな仕事をさせるか、負荷…、などの条件や状況によるところは大きいですが、長年、FreeBSDをサーバーとして使ってきて思うに、FreeBSDはちょっとやそっとのことで落ちたりはしない、とっても安定したサーバーとして、信用して使っていられる、というイメージを、私はもっていました。
ところが、ここ1~2ヶ月の間に、2~3回のkernel panicを見てしまいました。
ちゃんとメモを残していなかったんですが、たしかコンソールには、
Fatal trap 12: page fault while in kernel mode
...
current process gam_server
みたいなメッセージがでていて、メモリイメージをディスクにダンプしようとしているのですが、なぜか、ダンプが全然進まず、そのまま固まっていて、再起動もしない、という感じ。
そして、数回見たいずれも、gam_serverが関係していました。
gam_serverというのは、ports/devel/gaminでインストールされる/usr/local/libexec/gam_serverのことらしいです。
私自身は、KDEとかGNOMEは使わないので、gaminについてこれまでほとんど知らなかったんですが、どうやら、KDEを使っていると、gam_serverも実行されるみたいです。
そのkernel panicを起こしたFreeBSDなサーバですが、こんなものです。
- Core 2 Quad Q6600
- 4GB
- FreeBSD/i386 7-STABLE (5月末か6月始めころcsupした) 64bit版じゃない
- Windows上でXサーバを実行して、FreeBSDのkdmを使って、KDEでログインしてるユーザーが、1~2人いる
- apache httpd-2.2とかPostgreSQLとかが、そこそこ忙しく動いてる
- kernel panicしたときは、portupgradeを実行してて、そこそこ負荷は高かった
はじめてkernel panicしたときは、気のせいだ、と思いたかったのですが、どうやらこうたびたび落ちると、どうもgam_server周りで、何かよろしくないところがあるのでは?という気がして仕方ありません。
詳しいことは全然理解していないのですが、FreeBSDのgaminは、kqueueという機能を使っているそうで、kqueueというのは、kernel event notification mechanismというもので、えーとチンプンカンプンなんですが、kernelに関係しているということで、kernel panicもありうるかな?と、臭い匂いがプンプンしてきます。
ports/devel/gaminでは、make configして、GAM_POLLERというオプションをつけると、kqueueを使わなくなるみたいなので、とりあえずはkqueueを使わないgaminで、様子見をしてみようかと思います。
本当は、kernel panic時のデバッグトレースをとれるようにしておくべきなんでしょうがねぇ。
☆
(2008-08-23)
あれからちょうど1ヶ月経過。またしても同じFatal trap 12が出てしまいました。だめか…
0 件のコメント:
コメントを投稿