我有一个配置好的 Tomcat ,
但是,如果我将
据我了解,JVM 将使用提供的 1G 内存启动 Tomcat。然后,如果应用程序需要更多内存,JVM 将在某个时期将其增加到 4G。为此,Java 必须运行一些操作(调整大小,在内存中重新分配页面?)- 这需要一些时间和 CPU 资源,正确吗?
当 Tomcat 的应用程序不再需要这么多内存时会发生什么?Java 会再次运行操作以减少已使用的内存吗?
谢谢。
P.S. 为什么我问 - 在
XMS=XMX
都配置为 4G。但是,如果我将
XMS
设置为 1G,会发生什么呢?据我了解,JVM 将使用提供的 1G 内存启动 Tomcat。然后,如果应用程序需要更多内存,JVM 将在某个时期将其增加到 4G。为此,Java 必须运行一些操作(调整大小,在内存中重新分配页面?)- 这需要一些时间和 CPU 资源,正确吗?
当 Tomcat 的应用程序不再需要这么多内存时会发生什么?Java 会再次运行操作以减少已使用的内存吗?
谢谢。
P.S. 为什么我问 - 在
XMS=1G
和 XMX=4G
的情况下,Apache Jmeter 给出的结果要比我使用 XMX
和 XMS
都为 4G 来启动Tomcat 的结果要少得多(Throughput
和 Average
)。