我试图了解调整 Tomcat 内存设置的艺术。在这个任务中,我有以下三个问题:
- 运行Tomcat时哪些与内存相关的JVM启动参数值得设置?为什么?
- 在微调 Tomcat 安装的内存设置时,有哪些有用的经验法则?
- 您如何监控实时 Tomcat 安装的内存消耗?
我试图了解调整 Tomcat 内存设置的艺术。在这个任务中,我有以下三个问题:
运行Tomcat时哪些与内存相关的JVM启动参数值得设置?为什么?
我认为答案取决于很多因素,因此不可能给出一个普遍的答案。例如:
您最好的策略是使用 JMX / jconsole / etc 来查看 GC 在您的 Tomcat 实例中的运行情况。如果您对所看到的内容不满意,请考虑调整 GC。
(并阅读@Romain 答案中的链接文章!)
基本上,大多数人调整 -Xmx,这意味着为 Java 堆保留的内存。如果运行 Tomcat 的机器没有运行其他占用 RAM 的程序,并且您没有做太多的 I/O(这得益于 RAM 用作缓存),那么让 Tomcat 使用尽可能多的内存通常是值得的。
自从我上次不得不调整 Tomcat 以来已经有好几年了,但调整垃圾收集曾经很有用。
使用任何 JMX 管理工具来监控内存使用情况;JConsole 随 JDK 一起提供,非常有用。
这篇文章中的链接不再有效。
要调整的两个 Java 参数是 -Xmx 和 -Xms,它们设置 JVM 可用的最大内存和 JVM 使用的初始内存。快速man java
将解释如何使用 -Xmx 和 -Xms。一如既往,更多的内存将有助于加快速度。