2008-10-27 58 views

回答

30

VonC的答案是一个互动的解决方案 - 如果你希望通过编程知道,你可以使用Runtime.totalMemory()找出JVM所使用的总量,并Runtime.freeMemory()找出多少仍然可用(也就是它的分配的JVM,但未分配 JVM--新对象可以使用这个内存)。

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

+0

你是对的(我最初的反应是从外面监视),+1给你;) – VonC 2008-10-27 08:30:55

4

如果你有java1.6的地方,你的程序是用Java 1.4.2,1.5或1.6上运行,就可以发动visualVM session,连接到你的应用程序,并遵循内存(以及更多)

image of monitoring application with Visual VM

(图像没有在时刻所显示的,所以请指Monitoring an application一个例证。)

+0

谢谢CMS,并感谢谁upvoted这...考虑它不完全是用户要求;) – VonC 2008-10-27 08:29:51

4

这并不准确,但对于粗略估计,只需从Runtime.getRuntime.totalMemory()中减去Runtime.getRuntime.freeMemory()即可。 在程序开始的时候这样做,可以了解JVM's的开销内存使用情况,并在执行期间以后面的间隔进行。

相关问题