gpt4 book ai didi

java - JVM maxHeapSize 和 InitialHeapSize 未反射(reflect)在 htop 中

转载 作者:行者123 更新时间:2023-12-01 20:03:32 24 4
gpt4 key购买 nike

我有一台 Linux 机器,正在其中运行 Java 应用程序。我正在使用这些参数运行 jvm:-Xmx27231m -Xms27231m

但是当我查看 htop/top 时。我对整个系统和具体流程的观察是,jvm 实际上没有保留我要求的 27GB 堆。我看到的是虚拟:32.8G分辨率:15.3GSHR:16536

在我的所有其他 prod/qa/dev 机器中,RES 反射(reflect)了我要求 JVM 为我保留的堆大小的确切数量(可能多一点)。然而,对于一台特定的机器来说,情况并非如此。我不明白为什么会发生这种情况。

我将 Java Mission Control 附加到该进程,我看到 InitialHeapSize 和 MaxHeapSize 实际上具有正确的值,但类型不是 CommandLine,而是 Ergonomic。我实在不知道这意味着什么。

有人吗?谢谢

最佳答案

JVM 不会提前预修改页面,以减少启动时间。不过,您可以使用此选项强制执行此操作。

-XX:+AlwaysPreTouch -Xmx27g -Xms27g

顺便说一句,这不会阻止 JVM 将不使用的内存释放回操作系统(尽管 JVM 很少这样做,据我所知),也不会将堆锁定到主内存中以防止交换。

However for one particular machine this is not the case.

很可能它没有正确的 Activity 导致内存被延迟使用。

关于java - JVM maxHeapSize 和 InitialHeapSize 未反射(reflect)在 htop 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47705422/

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