如何获得我的java应用程序使用的最大堆大小?

时间:2016-10-12 05:23:05

标签: java jvm visualvm

我正在通过命令行 运行我的Java应用程序而不用 传入任何JVM设置(即java -cp some.jar)。

VisualVM显示Java应用程序分配了大约740M的堆空间。

由于我没有传入任何JVM设置,如何查看我的应用正在使用的JVM设置?

2 个答案:

答案 0 :(得分:1)

您可以使用java.lang.management.MemoryUsage:

MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();

从中获取最大记忆

答案 1 :(得分:0)

我会使用分析工具分析内存。此外,如果您知道使用了多少内存,问题就无法解决。下一步是知道为什么使用这么多内存。

尝试使用Java Mission Control

描述您的计划

该工具是任何较新的JDK的一部分,如: " C:\ Program Files(x86)\ Java \ jdk1.8.0_20 \ bin \ jmc.exe"