在Scala或Java中,如何获取应用程序当前占用的RAM量?

问题描述:

NetBeans IDE有一个任务栏指示器,显示正在运行的实例当前分配和使用了多少RAM。我如何在我自己的应用程序中使用Scala编写这些数据?如果在Scala中没有特殊的功能,我可以使用Java。在Scala或Java中,如何获取应用程序当前占用的RAM量?

+0

告诉多大Java堆的使用是很容易就被复制。告诉这个过程独占使用多少内存是非常棘手的。 – gawi 2010-09-05 02:01:45

private val runtime = Runtime.getRuntime() 
import runtime.{ totalMemory, freeMemory, maxMemory } 

System.out.println("New session, \ 
    total memory = %s, max memory = %s, free memory = %s".format(
     totalMemory, maxMemory, freeMemory)) 

http://harrah.github.com/browse/samples/compiler/scala/tools/nsc/CompileServer.scala.html

您可以使用java.lang.Runtime类中的totalMemorymaxMemory方法,也可以使用MemoryMXBean