googleキャッシュもエラー画面

mysqlの接続エラーが頻繁に出てしまっており、恥ずかしながら一部ページはgoogleのキャッシュにまでこれが表示されてしまいました。

キャッシュの方は正常なものを再度拾ってもらえたから良かったものの、このままでは再発が目に見えているので、早速プログラムを見直すことにしました。

メッセージはこんな感じです。

Warning: mysql_connect(): Can't create a new thread (errno **);
if you are not out of available memory,
you can consult the manual for a possible OS-dependent bug...

「mysql If you are not out of available memory」で検索すると、同じようにこの文面で検索に拾われているサイトもチラホラ見られますね。

プログラムでメモリ開放を

メモリ不足の原因が自作プログラムにあるのはなんとなく想像がついていたので、コネクションを切っていなかったり、SQLの結果を保持したままメモリ解放をしてない場所を探してみると、あるはあるは。

mysql_free_result();
mysql_close();

mysql_free_result()、mysql_close()忘れないように各所にコードを追加しておきました。以降、だいぶ落ち着いているようです。体感でもサイト表示が早くなったような気がします。

おわりに

イルカさんもちゃんとプログラム作れとお怒りでしょうね。もうすぐ6年目ですし、もうちょっとプログラムをしっかり勉強したいです。

iruka_ikari.png
もうすぐ6年目となる当時のトップページ