java—确定任何Web应用程序所需的-Xmx和-Xms的最佳方法&;独立应用程序

java—确定任何Web应用程序所需的-Xmx和-Xms的最佳方法&;独立应用程序,java,tomcat,heap,Java,Tomcat,Heap,我想知道如何确定在tomcat服务器上运行的独立应用程序和Web应用程序所需的堆大小 如何在服务器上部署后确定相同的配置 谢谢。您可以从分析内存使用情况开始。例如,JDK(6以上)就有其独特的功能。我个人更喜欢的一个工具是,最初来自SAP,现在是open。您可以分析堆转储或将其连接到您选择的java进程。要以编程方式创建堆转储,您可以使用我们在VM上使用-Xloggc:gc log.txt和-XX:+PrintGCdetails选项,并让它运行一段时间(天)使用hig Xmx设置,然后您可以使用

我想知道如何确定在tomcat服务器上运行的独立应用程序和Web应用程序所需的堆大小

如何在服务器上部署后确定相同的配置


谢谢。

您可以从分析内存使用情况开始。例如,JDK(6以上)就有其独特的功能。我个人更喜欢的一个工具是,最初来自SAP,现在是open。您可以分析堆转储或将其连接到您选择的java进程。

要以编程方式创建堆转储,您可以使用我们在VM上使用
-Xloggc:gc log.txt
-XX:+PrintGCdetails
选项,并让它运行一段时间(天)使用hig Xmx设置,然后您可以使用从日志中呈现图表,了解何时消耗了多少RAM,即是否存在峰值、达到的限制、GCs负载是否会减慢应用程序速度等。

调整Java堆大小的规则建议,它是针对IBMSDK的,但我认为对于其他SDK,这些设置不会有太大差异

调整Java堆的大小,使应用程序以最小堆运行 使用率为40%,最大堆使用率为70%


-Xmx增加,直到没有内存不足错误发生,并且CPU使用不受垃圾收集器控制。