【问题标题】:Memory usage in java applicationsJava 应用程序中的内存使用情况
【发布时间】:2015-03-02 12:31:55
【问题描述】:

如何计算在 Java 中运行程序所需的最大内存是多少? (由该程序使用)

我做了什么:我在运行时多次记录 currentMemory 值,然后从最大值中减去最小值。

double currentMemory = (Runtime.getRuntime().totalMemory() -  Runtime.getRuntime().freeMemory())

但与活动监视器(Mac OS)相比,结果并不令人信服

(1) 有没有更好的方法来做到这一点? (2) 我应该在调用垃圾收集器之前还是之后测量内存?

感谢您的帮助。

【问题讨论】:

标签: java performance


【解决方案1】:

您可以使用 jdk 安装文件夹中的 jconsole 或 jvisualvm 实用程序(例如,在 Windows $JAVA_HOME/bin/jconsole.exe 上)来获得应用程序整个生命周期内存消耗的良好可视化视图。 它们使用起来非常简单,并且在提供对 jvm 的实时洞察方面提供了非常丰富的信息

【讨论】:

    猜你喜欢
    • 2011-03-09
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 2014-11-08
    相关资源
    最近更新 更多