1

私はJavaWebアプリケーションを開発しており、Tomcat7サーバーで実行しています。次のように呼び出して、メモリのサイズを確認しています。

System.out.println("Total memory is: " + Runtime.getRuntime().totalMemory());

データのサイズが大きくなると、サイズも変化していることに気づきRuntime.getRuntime().totalMemory()ました。

1- JVMはアプリケーションデータのサイズより大きくしようとしていますか?

2-RAMメモリサイズ以外にJVMサイズに制限はありますか?

3-上記の2つとはあまり関係のない3番目の質問:実行中のTomcat7サーバーアプリケーションのサイズはどれくらいですか?実際、サーバーに小さなRAM(Amazonクラウドサーバー、フリータイヤ、600 MB RAM)があり、WebアプリケーションをデプロイせずにJAVAがメモリの約52%を占有していることに気づいています。

非常に基本的な質問をしてすみません。WebサーバーとWebアプリケーションに精通していません。

4

1 に答える 1

3

RAMメモリサイズ以外にJVMサイズに制限はありますか?

はい、あなたが設定した制限です。

-Xmx最大ヒープサイズと-Xms初期ヒープサイズ

JVMは仮想的に実行されます。マシンで使用可能なメモリよりも多くのメモリを割り当てると、スワップアウトされます。

実行中のTomcat7サーバーアプリケーションのサイズはどれくらいですか?

その質問に自分で答えたことがありませんか?それはあなたの記憶の52%です。一般に、Tomcatに最大メモリを指定できます。そして最小値。サイズも。結局のところ、それは単なる別のJVMです。

于 2012-08-09T21:42:27.950 に答える