【问题标题】:Java heap Xms and linux free memory differentJava heap Xms 和 linux free memory 不同
【发布时间】:2018-02-26 06:29:07
【问题描述】:

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

程序运行良好。

但是当我执行 free -m 时,已用内存显示为 506 MB。据我了解,XMS内存应该是为JVM预留的。Why does free command not showing the java used memory ?

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

【问题讨论】:

    标签: java jvm jvm-arguments


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 2012-03-09
      • 1970-01-01
      • 2014-09-25
      • 2022-11-21
      • 1970-01-01
      • 2018-08-01
      相关资源
      最近更新 更多