【问题标题】:Why is Tomcat not reserving minimum heap space为什么Tomcat不保留最小堆空间
【发布时间】:2014-03-16 06:46:30
【问题描述】:

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

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

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

CATALINA_OPTS:  -Xms512m -Xmx1024m

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

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)

我有什么遗漏吗?

【问题讨论】:

  • 您使用的是哪个 IDE?
  • 我没有使用任何 IDE。这些应用程序已经部署在 Linus 上的 Tomcat 上。我只是想增加内存。

标签: java linux tomcat heap-memory


【解决方案1】:

free -m 命令

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

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

// 属性名="maxHeapSize" value="0x40000000"

//属性名称="initialHeapSize" value="0x20000000"

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

上面显示的是以下命令的sn -p java -Xms512M -Xmx1024M -verbose:gc -version

【讨论】:

  • 很好地解释了这些是如何区分的。
猜你喜欢
  • 2018-03-31
  • 2015-07-15
  • 2013-11-04
  • 2019-01-02
  • 2014-02-17
  • 2012-12-11
  • 1970-01-01
相关资源
最近更新 更多