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

4

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

  • 运行Tomcat时值得设置哪些与内存相关的JVM启动参数?为什么?
  • 微调Tomcat安装的内存设置时有哪些有用的经验法则?
  • 如何监控您的实时Tomcat安装的内存消耗情况?
4个回答

2
当运行Tomcat时,哪些与内存相关的JVM启动参数值得设置?为什么?
我认为答案取决于许多因素,无法给出一般性的答案。例如:
- 内存参数将极大地依赖于您在Tomcat中运行的Web应用程序的行为。这些Web应用程序是否占用大量内存?它们的内存使用是否周期性的?它是否与负载有关?它们是否使用/依赖于堆内缓存? - 您是否经常进行Web应用程序的热部署?Web应用程序是否进行类加载器技巧? - Web应用程序是否具有特定的性能要求;例如,您必须在特定时间内完成95%的请求吗? - 您是否可以忽略同一台机器上其他Tomcat实例/其他正在运行的应用程序的内存需求?
您最好的策略是使用JMX / jconsole等工具查看Tomcat实例中GC的情况。如果您对所看到的内容不满意,则考虑调整GC。(并阅读@Romain答案中的链接文章!)

1

基本上,大多数人会调整 -Xmx,这意味着为 Java 堆保留的内存。如果运行 Tomcat 的服务器没有运行其他占用内存的程序,并且您没有进行大量 I/O 操作(这可以从使用 RAM 作为缓存中获益),那么通常值得让 Tomcat 尽可能地使用更多内存。

我已经很久没有调整 Tomcat 了,但调整垃圾回收以前是有用的。

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


1

这篇帖子中的链接已经失效了。


这里指定的链接已经不可用/在线了。 - AndreasRu
链接已失效。 - Romain Hippeau

-1
Java调优的两个参数是-Xmx和-Xms,它们分别设置JVM可用的最大内存和JVM使用的初始内存。快速输入man java将会解释如何使用-Xmx和-Xms。像往常一样,更多的内存可以帮助提高速度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接