跟踪tomcat webapp中的内存使用情况

时间:2008-12-21 22:38:57

标签: java memory

有没有可用于跟踪内存使用情况的好工具在tomcat java webapp中?我正在寻找能够按类别或包装分类的东西。

谢谢,J

3 个答案:

答案 0 :(得分:5)

我使用Netbeans IDE,它能够分析任何类型的Java项目,包括webapps。在Netbeans中完成项目设置后,只需单击“配置文件”并回答几个简单的问题。

创建新项目并将现有代码导入其中非常容易。

您可以在此处查看此屏幕截图:http://profiler.netbeans.org/

您可以从此处下载Netbeans:http://www.netbeans.org/

VisualVM也可能适合您。还有许多可用的插件。自JDK 6更新7以来,VisualVM一直随JDK一起提供。您可以在此处查看:https://visualvm.dev.java.net/

答案 1 :(得分:3)

jconsole可以为您提供摘要统计信息。我在过去使用它来进行负载测试以推断加载类的大小(通过在加载LOTS对象时注意使用之前和之后)。请注意,在触发垃圾收集之前,使用情况一直持续,因此您将需要考虑计算中的瞬态对象。

答案 2 :(得分:3)

尝试JRockit Mission Control附带的内存泄漏检测程序。它可以显示堆中最常见的类型以及它们的增长程度。

alt text
(来源:oracle.com

您还可以通过运行JROCKIT_HOME \ bin目录中提供的jrmcd命令从命令行获取统计信息。例如,

  

jrcmd <pid> print_object_summary

会给你

31.8% 3198k    41907   -137k [C
11.9% 1196k      300     +0k [B
11.4% 1151k    49118     +6k java/lang/String
 6.1% 612k     5604     +0k java/lang/Class
 4.3% 431k     2388     +0k [I
 3.5% 353k    15097     +0k java/util/HashMap$Entry
 ...

可以免费用于开发和评估。