Perlについての質問箱 20箱目
■ このスレッドは過去ログ倉庫に格納されています
0051デフォルトの名無しさん
2005/11/09(水) 22:18:28環境は ActivePerl 5.8.6 811 です。
今、threadsを使ったサーバを書いていて1クライアントごとに1スレッド割り当てています。
スレッド数は10までで制限をかけて、それを超える接続はキューに入れてまたせています。
同時に100クライアントが接続して来た場合に10スレッド平行で処理して、
クライアントとの通信が終了するとスレッドをjoinしているのですが、
メモリが開放されず、仮想メモリの使用量が1Gを超えてしまい困っています。
キューが空になってサーバが暇になるとメモリが一気に開放されているようです。
なんとかスレッドをjoinした時点でメモリを開放したいのですが、GCを動かす方法は
ないでしょうか (sleepはだめでした)。
おとなしくselectを使って1スレッドで処理すべきなのかもしれませんが。
■ このスレッドは過去ログ倉庫に格納されています