哪些内存相关的Tomcat JVM启动参数值得调整?

问题描述 投票:4回答:4

我正在尝试了解调整Tomcat内存设置的技巧。在此任务中,我有以下三个问题:

  • 运行Tomcat时哪些值的内存相关JVM启动参数值得设置?为什么?
  • 微调Tomcat安装的内存设置时有哪些有用的经验法则?
  • 您如何监视实时Tomcat安装的内存消耗?
java performance jvm jvm-arguments
4个回答
1
投票

此帖子中的链接不再有效。


2
投票

运行Tomcat时哪些值的内存相关JVM启动参数值得设置?为什么?

我认为答案取决于许多因素,因此无法给出一般性答案。例如:

  • 内存参数将极大地取决于您在Tomcat中运行的Web应用程序的行为。 Webapp的内存不足吗?它们的内存使用是否具有周期性?是否与负载有关?他们使用/依赖堆中的缓存吗?
  • 您是否定期对Web应用程序进行热部署? webapps是否执行类加载器技巧?
  • Webapp是否有特定的性能要求;例如您是否必须在一定时间内完成95%的请求?
  • 您可以忽略在同一台计算机上运行的其他Tomcat实例/其他应用程序的内存要求吗?

您最好的策略是使用JMX / jconsole / etc来查看GC在Tomcat实例中的运行情况。如果您对看到的内容不满意,请then考虑调整GC。

(并阅读@Romain答案中的链接文章!)


1
投票

基本上,大多数人会调整-Xmx,这意味着为Java堆保留的内存。如果运行Tomcat的设备没有运行占用RAM的其他任何东西,并且您没有做太多的I / O(这受益于将RAM用作缓存),通常值得让Tomcat使用尽可能多的内存。

自从我上次不得不调整Tomcat已经很久了,但是调整垃圾回收曾经很有用。

使用任何JMX管理工具来监视内存使用情况; JConsole是JDK附带的,非常有用。


-1
投票

要调整的两个Java参数是-Xmx和-Xms,它们设置了JVM可用的最大内存以及JVM使用的初始内存。快速的man java将解释如何使用-Xmx和-Xms。一如既往,更多的内存将有助于加快速度。

© www.soinside.com 2019 - 2024. All rights reserved.