小编Ale*_*lis的帖子

Java的RAM使用率与任务管理器所说的不对应

我通过制作一个1024^3(基本上是1Gb)长度的字节数组来玩Java的JVM .我在使用任务管理器(查看进程)和这个小片段之前,在数组创建之后和数组被垃圾收集器销毁之后测量了RAM的使用情况:

public static void showMemory() {
    System.out.println("Memory used: "
            + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / (1024.D * 1024.D) + "mB.");
}
Run Code Online (Sandbox Code Playgroud)

上述代码分别显示2Mb,1029Mb和2Mb. - >这一切似乎都很正常.但是,在查看TaskManager时,Java的RAM使用率最初为2mb,然后转到1052Mb并保持不变,即使该代码段显示为2Mb.

由于我希望Java使用最少的资源,我该如何解决这个问题?

编辑:

我做了一些研究并找出了要使用的术语.实际上,本内存与内存的值不相似,并且通常大于堆内存.有没有办法减少使用的本机内存,使其接近堆内存?

java memory ram jvm

6
推荐指数
1
解决办法
1695
查看次数

标签 统计

java ×1

jvm ×1

memory ×1

ram ×1