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

时间:2011-04-21 09:21:53

标签: java tomcat heap

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

如何在服务器上部署后确定相同内容。

感谢。

3 个答案:

答案 0 :(得分:3)

您可以从分析内存使用情况开始。例如,JDK(6个向上)有Visual VM。我个人更喜欢的工具是Eclipse Memory Analyzer,最初来自SAP,现已开放。您可以分析堆转储或将其挂接到您选择的Java进程。

要以编程方式创建堆转储,您可以使用this

答案 1 :(得分:2)

IBM建议用于调整Java堆大小的规则,它适用于IBM SDK,但我不认为其他SDK的这些设置会有太大差异。

  

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

答案 2 :(得分:0)

我们在VM上使用-Xloggc:gc-log.txt-XX:+PrintGCdetails选项,让它运行一段时间(天)并使用高Xmx设置,然后您可以使用GCViewer来渲染图表日志并了解何时消耗了多少RAM,即是否有峰值,达到限制,GC的负载减慢App等等。