gpt4 book ai didi

Java堆Xms和linux空闲内存不同

转载 作者:行者123 更新时间:2023-12-02 01:58:25 25 4
gpt4 key购买 nike

我有一个java程序在centos Box中运行。我的 -Xmx 和 -Xms 设置为 4000 Mb。

The program works fine.

但是当我执行 free -m 时,已用内存显示为 506 MB。根据我的理解,XMS 内存应该为 JVM 保留。为什么 free 命令不显示 java 使用的内存?

我还做了 jstat -gccapacity $(pidof java) 并且 NGCMN 和 NGCMX 已更新并且具有相同的值?任何支持都会有帮助。我正在运行我的程序 java -Xms41000m -Xmx42000m -jar

最佳答案

即使-Xmx-Xms设置为相同的值,为Java堆保留的空间也不会立即在RAM中分配。

操作系统通常仅在第一次访问虚拟页面时才延迟分配物理内存。因此,虽然 Java 堆中未使用的部分没有被触及,但它不会真正消耗内存。

您可以使用-XX:+AlwaysPreTouch选项强制触摸JVM启动时的所有堆页。

关于Java堆Xms和linux空闲内存不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57387882/

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