Javaサーバアプリケーションのメモリ節約
Javaでサーバアプリを作成しました。
そのサーバアプリはクライアントがサーバに
接続して、ちゃっとや対戦ゲームができるプログラムです。
プログラムは2000行程度あるので、
サンプルとして、以下のようなプログラムだと
考えていただければと思います。
http://www.techscore.com/tech/Java/Network/3.html
起動すると、以下のようなメモリ使用量になります。
起動した直後なため、ソケットがクライアントの接続を待っている状態です。
クライアントが接続すると、%MEMも以下の値よりも徐々に増えていきます。
# ps -eo "pid,ppid,%mem,cmd"
PID PPID %MEM CMD
18816 1 4.1 java server -server
18817 18816 4.1 java server -server
18818
-18825 18817 4.1 java server -server
18816が親プロセス、18817-18825が子プロセス
合計で10プロセスがあるわけです。
ということはメモリ使用率は4.1*10=41%も使っているのでしょうか?
それとも親子合わせて、4.1%の使用率なのでしょうか?
JavaはCに比べてメモリ使用量が大きいとは聞いたことありますが、節約する方法は何かないのでしょうか?
また、子プロセスが9つもあがるのが無駄なような気がします。
子プロセスの数を制御する方法はないのでしょうか?
どこかのホームページの紹介でも、結構なので、
ご教授いただければ幸いです。
お礼
ご教授ありがとうございました。さっそく喜んでアプレットのサンプル集からソースをコピーし、ホームページのタグにくっつけてその他class等のファイルも全て一緒にUPロードしたのですが、残念ながら動作しませんでした。サンプル集の使用法にしたがってやったのですが。もしかしてfc2とか普通の無料のHPスペースでは使用してはいけないということでしょうか。Windows上では動作しますが。