在执行过程中,Java程序如何判断它使用了多少内存?

2022-09-01 12:00:30

在执行过程中,Java程序如何判断它使用了多少内存?

我不在乎它的效率如何!


答案 1

VonC的答案是一个交互式解决方案 - 如果你想从程序上了解,你可以使用 Runtime.totalMemory() 来找出 JVM 使用的总量,并使用 Runtime.freeMemory() 来找出其中有多少仍然可用(即它分配给 JVM,但不在 JVM 分配 - 新对象可以使用此内存)。

这些是实例方法 - 使用 Runtime.getRuntime() 首先获取单一实例。


答案 2

如果你在某个地方有一个java1.6,并且你的程序在java 1.4.2,1.5或1.6中运行,你可以启动一个visualVM会话,连接到你的应用程序,并遵循内存(等等)

image of monitoring application with Visual VM

(图像目前未显示,因此请参阅监视应用程序以获取插图。