我正在通过命令行 运行我的Java应用程序而不用 传入任何JVM设置(即java -cp some.jar
)。
VisualVM显示Java应用程序分配了大约740M的堆空间。
由于我没有传入任何JVM设置,如何查看我的应用正在使用的JVM设置?
答案 0 :(得分:1)
您可以使用java.lang.management.MemoryUsage:
MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
从中获取最大记忆
答案 1 :(得分:0)
我会使用分析工具分析内存。此外,如果您知道使用了多少内存,问题就无法解决。下一步是知道为什么使用这么多内存。
描述您的计划该工具是任何较新的JDK的一部分,如: " C:\ Program Files(x86)\ Java \ jdk1.8.0_20 \ bin \ jmc.exe"