gpt4 book ai didi

Java -Xms 和 -Xmx 测试

转载 作者:太空宇宙 更新时间:2023-11-04 07:49:55 28 4
gpt4 key购买 nike

我创建了一个类 Main,其中包含如下所示的 main 方法:

public class Main {

public static void main(String[] _args) {
System.out.println("free:" + Runtime.getRuntime().freeMemory()
+ ". max:" + Runtime.getRuntime().maxMemory());
}
}

然后我使用 -Xms2m 和 -Xmx2m 运行该类。输出如下:

free:2984840. max:7471104

然后,我的问题是,如果一兆字节是 1048576 字节,那么显示的可用内存不是 -Xms 中设置的 2 兆字节。当我将 -Xms 选项增加到 3m 时,它显示了额外的兆字节空闲。任何人都可以解释发生了什么,.?

-Xmx 选项会出现不同的情况,当我将其增加到 3m、4m 和 5m 时,最大值继续显示 7471104。大约为 71.44m。我不太明白这两个选项是如何工作的。

这是我设置 -Xms3m 和 -Xmx6m 时打印的内容

free:4033416. max:7471104

任何人都可以帮忙吗?

谢谢:)

注释:我正在使用 Win7 x64 和 Java 1.6 update 35。

最佳答案

JVM 在如何分配内存方面有限制,但并不明显。这意味着它仅将您提供的尺寸作为提示,并将尽可能严格地遵循。对于非常小的内存大小,这些差异更加显着,但即使您要求 20 GB,也不会精确到 20 GB 字节。

关于Java -Xms 和 -Xmx 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14669608/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com