- ベストアンサー
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つもあがるのが無駄なような気がします。 子プロセスの数を制御する方法はないのでしょうか? どこかのホームページの紹介でも、結構なので、 ご教授いただければ幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- covachan
- ベストアンサー率38% (46/120)
回答No.2
お礼
ありがとうございます。 StringとStringBufferの使い方について調べてみたら http://www.afis.to/~start/Visitor/kousokuka.html 上記のようなページを見つけました。 作成したプログラムの文字列変数は全てStringを使っているため、見なおしてみようと思います。