为什么Tomcat没有保留最小的堆空间

时间:2014-02-17 05:05:24

标签: java linux tomcat heap-memory

我在Linux上运行Tomcat 6并在setenv.sh中设置Xms和Xmx。启动Tomcat服务器后,我没有看到内存使用量增加至少在Xms中指定。

在启动之前free -m显示1500作为可用内存。

在我的startup.sh我可以看到内存设置。

CATALINA_OPTS:  -Xms512m -Xmx1024m

服务器启动后free -m显示1140为可用内存。为什么空闲内存不会减少至少512米?

jinfo 14064 is showing VM Flags: -Xms512m -Xmx1024m

jmap -heap is also showing memory settings are applied 

堆配置:    MinHeapFreeRatio = 40    MaxHeapFreeRatio = 70     MaxHeapSize = 1073741824(1024.0MB)

我有什么遗失的吗?

1 个答案:

答案 0 :(得分:0)

free -m command

http://www.linuxtoday.com/upload/understanding-free-command-in-linuxunix-130530185004.html

此命令将显示实际可用RAM。 RAM内存和虚拟内存不同。 实际的初始堆大小和最大堆大小可以按堆分配 可以使用以下命令识别。 添加以下jvm参数-verbose:gc 并重新启动服务器。重新启动服务器后,初始化后,详细日志显示以下内容

// attribute name =" maxHeapSize"值=" 0x40000000之后"

// attribute name =" initialHeapSize"值=" 0x20000000"

将值转换为MB,它将显示Xms和Xmx分配。

以上显示的是以下命令的片段 java -Xms512M -Xmx1024M -verbose:gc -version