freeradiusのスレッド数を512まで増やせるようにソースを直した。
コンパイルもすんなりいき、起動してみた。
でも、293スレッド作ったところでメモリー不足になって落ちてしまう。
なんでだろ~
と思ったら、freeradiusの各スレッドに割り当てるスタックサイズが大きすぎたみたい。
それでメモリー不足になっていた。
どうやら、Linux の場合だと、ulimit -a (bashの場合)で表示されるスタックサイズを使用するらしい。
(一方、mysqlは設定できる)
デフォルトの状態で、10Mになっていた。(環境によるかもしれないけど)でか!
ulimit -s コマンドで4Mくらいに設定したら512スレッドで動くようになった。
でも、なんで293スレッドだったのか?
どうやら、293スレッド x 10,240KB = 3,000,320KB で、3GB近い仮想メモリー。
32ビットOSの場合、仮想メモリーの上限は4GB。
Linux kernelは1Gを仮想メモリーに使うので、残り3GBがユーザが使用可能な仮想メモリー。
ということで、293スレッド目でメモリー不足になっていたみたい。
基本的なことだったf(^^;
