結局、 isc_thread_create() failed の直接の原因は、メモリ不足ということらしい。
ただ、メモリを使い切った状態でも別のプログラム(例えば ls など)は普通に使えていたりするので、実態はおそらく、thread関係の処理がメモリが不足気味の時に雑だということなのだろう。
namedも isc_thread_create() failed のエラーを吐き出していた(これはメモリはまだ残っている状態でも)ので、これは、ソースから再コンパイルして thread を使わないようにしたら、動くようになった。
ついでに、mysqldも 130MB もメモリを消費していたので、 40MB程度の消費になるようにスリムに再コンパイル。
これで、httpd と imapd と mysqld と named が動いている状態でなんとか 80MB程度に収まった。これならなんとか使い物になりそう。
(ただ、mysqld は 256MBのメモリでは、セルフコンパイルができなかった。別の機械でコンパイルしてその結果をインストールするという手順が必要。実稼動状態だとメモリ不足はもう少し深刻になりそうなので、開発環境を別に用意するのは必須。)
0 件のコメント:
コメントを投稿