是否有任何本机java代码来检查程序使用的内存,或者唯一可能的方法是检查JVM自己使用的内存?
这可以纯粹在java中完成,还是我们需要外部流程才能完成这项工作?
答案 0 :(得分:4)
我认为JConsole将是一个良好的开端。
答案 1 :(得分:1)
您可以使用java.lang.management.MemoryUsage
或外部工具VisualVM(JDK附带)。
答案 2 :(得分:1)
我个人认为java.lang.management.MemoryMXBean
比MemoryUsage
更易于使用。您可以按如下方式获取程序使用的内存:
MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
long heapMemUsed = memoryBean.getHeapMemoryUsage().getUsed();
long otherMemUsed = memoryBean.getNonHeapMemoryUsage().getUsed();
long totalMemoryUsed = heapMemUsed + otherMemUsed;
答案 3 :(得分:0)
jConsole有什么东西不能提供吗?这显示了堆,类,线程,CPU和更多的东西。