1

我正在开发一个 java web 应用程序,并在 Tomcat 7 服务器上运行它。我通过调用来检查内存的大小:

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

我注意到大小正在发生变化,当我的数据大小变大时,它Runtime.getRuntime().totalMemory()也会变大。

1- JVM 是否试图大于应用程序数据的大小?

2- 除了 RAM 内存大小之外,JVM 大小是否有任何限制?

3-第三个问题与上述两个不太相关:正在运行的 Tomcat 7 服务器应用程序的大小是多少?实际上,我的服务器中有一个小 RAM(亚马逊云服务器,免费轮胎,600 MB RAM),而且我注意到 JAVA 在没有部署任何 Web 应用程序的情况下占用了大约 52% 的内存。

请原谅我的非常基本的问题,我不熟悉 Web 服务器和 Web 应用程序。

4

1 回答 1

3

除了 RAM 内存大小之外,JVM 大小是否有任何限制?

是的,你设置的限制。

-Xmx对于最大堆大小和-Xms初始堆大小

JVM 虚拟运行。如果您分配的内存比机器上的可用内存多,它将被换出。

正在运行的 Tomcat 7 服务器应用程序的大小是多少?

你自己没有回答过这个问题吗?这是你记忆的 52%。一般来说,您可以为您的 Tomcat 指定最大内存。和分钟。大小也一样。毕竟它只是另一个JVM。

于 2012-08-09T21:42:27.950 回答