Java Scala程序的内存使用

Java Scala程序的内存使用,java,scala,memory,benchmarking,Java,Scala,Memory,Benchmarking,我试图找到Scala程序的内存使用情况,我甚至得到了结果。我指的是以下代码: object Test { def main(args: Array[String]): Unit = { val mb = 1024*1024 val runtime = Runtime.getRuntime println("\nMemory in MB") println("** Used Memory: " + (runtime.tota

我试图找到Scala程序的内存使用情况,我甚至得到了结果。我指的是以下代码:

object Test {
    def main(args: Array[String]): Unit = {
        val mb = 1024*1024
        val runtime = Runtime.getRuntime
        println("\nMemory in MB")
        println("** Used Memory:  " + (runtime.totalMemory - runtime.freeMemory)/mb)
        println("** Free Memory:  " + runtime.freeMemory/mb)
        println("** Total Memory: " + runtime.totalMemory/mb)
        println("** Max Memory:   " + runtime.maxMemory/mb)
    }
}
结果如下:

Memory in MB - 
** Used Memory:  2
** Free Memory:  28
** Total Memory: 31
** Max Memory:   228

但是,该代码使用2MB内存的结果有多准确?有没有更好的方法来做这样的基准测试?

这与Java有什么关系?因为“Runtime.getRuntime”是一个移植到Scala的Java方法。您使用整数进行计算,因此已经失去了一些精度。您可能想要使用一个分析工具;甚至jvisualvm也有很好的监视和绘图功能。@BobDalgleish-即使删除整数,内存使用量也在2MB左右。是否找到了这个回答高值的链接-这与Java有什么关系?因为“Runtime.getRuntime”是一个移植到Scala的java方法。您正在使用整数进行计算,因此已经失去了一些精度。您可能想要使用一个分析工具;即使是jvisualvm也有很好的监视和绘图功能。@BobDalgleish-即使删除整数,内存使用量也在2MB左右。您是否找到了此链接来回答较高的值-