首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何监控Java内存使用情况?

如何监控Java内存使用情况?
EN

Stack Overflow用户
提问于 2009-06-29 15:41:19
回答 14查看 203K关注 0票数 75

我们有一个运行在Jboss上的j2ee应用程序,我们想要监控它的内存使用情况。目前,我们使用以下代码

代码语言:javascript
复制
    System.gc();
    Runtime rt = Runtime.getRuntime();
    long usedMB = (rt.totalMemory() - rt.freeMemory()) / 1024 / 1024;
    logger.information(this, "memory usage" + usedMB);

这段代码运行良好。这意味着它显示了与现实相对应的记忆曲线。当我们从数据库创建一个大的xml文件时,曲线上升,提取完成后下降。

一位顾问告诉我们,显式调用gc()是错误的,“让jvm决定何时运行gc”。基本上,他的观点与disscussed here是一样的。但我还是不明白:

  • 如何获得内存使用曲线?
  • 显式gc()有什么问题?我不关心显式gc()可能发生的小性能问题,我估计会有1-3%的性能问题。我需要的是内存和线程监视器,它们可以帮助我在客户现场分析我们的系统。
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1058991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档