Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JVM maxHeapSize和InitialHeapSize未反映在htop中_Java_Jvm_Heap Memory - Fatal编程技术网

Java JVM maxHeapSize和InitialHeapSize未反映在htop中

Java JVM maxHeapSize和InitialHeapSize未反映在htop中,java,jvm,heap-memory,Java,Jvm,Heap Memory,我有一台运行Java应用程序的linux机器。 我使用以下参数运行jvm:-Xmx27231m-Xms27231m 但是,当我查看htop/top时。 我对系统整体和过程的看法是,jvm实际上没有保留我要求它保留的27GB堆。 相反,我看到的是 病毒:32.8G RES:15.3G 新加坡:16536 在我所有其他的prod/qa/dev机器中,RES反映了我请求JVM为我保留的堆大小的确切数量(可能更多)。 但是,对于一台特定的机器,情况并非如此。 我不知道为什么会这样 我将Java任务控制附

我有一台运行Java应用程序的linux机器。 我使用以下参数运行jvm:-Xmx27231m-Xms27231m

但是,当我查看htop/top时。 我对系统整体和过程的看法是,jvm实际上没有保留我要求它保留的27GB堆。 相反,我看到的是 病毒:32.8G RES:15.3G 新加坡:16536

在我所有其他的prod/qa/dev机器中,RES反映了我请求JVM为我保留的堆大小的确切数量(可能更多)。 但是,对于一台特定的机器,情况并非如此。 我不知道为什么会这样

我将Java任务控制附加到该过程中,我发现InitialHeapSize和MaxHeapSize实际上具有正确的值,但是类型不是命令行,而是符合人体工程学的。我真的不知道那是什么意思

有人吗?
谢谢

JVM不会预先触摸页面,以减少启动时间。但是,您可以使用此选项将其强制

-XX:+AlwaysPreTouch -Xmx27g -Xms27g
顺便说一句,如果不使用内存,这不会阻止JVM将内存释放回操作系统(尽管JVM很少这样做),也不会将堆锁定到主内存中以防止交换

但是,对于一台特定的机器,情况并非如此


最有可能的是,它没有正确的活动来导致内存被惰性地使用。

JVM不会预先触摸页面,以减少启动时间。但是,您可以使用此选项将其强制

-XX:+AlwaysPreTouch -Xmx27g -Xms27g
顺便说一句,如果不使用内存,这不会阻止JVM将内存释放回操作系统(尽管JVM很少这样做),也不会将堆锁定到主内存中以防止交换

但是,对于一台特定的机器,情况并非如此


很可能它没有正确的活动导致内存被惰性使用。

如果您分配了内存,但没有使用它,则不一定所有内存都将驻留,尤其是在内存争用的情况下。
Virt:32.8G
表示内存已经全部存在,只是并不是全部被换入。你说的换入是什么意思?在我拥有的每台机器中,我为堆设置的内存量,就是RES的显示量。我用的是这台机器,有很多分配资源是“常驻的”。如果存在内存争用,则可以将当前未访问的部分内存换出磁盘。这就是交换空间的全部要点。那个系统上还运行着什么?还有其他内存密集型的吗?如果您分配了它,但不使用它,则它可能会重复。它不一定会全部驻留,尤其是在内存争用的情况下。
Virt:32.8G
表示内存已经全部存在,只是并不是全部被换入。你说的换入是什么意思?在我拥有的每台机器中,我为堆设置的内存量,就是RES的显示量。我用的是这台机器,有很多分配资源是“常驻的”。如果存在内存争用,则可以将当前未访问的部分内存换出磁盘。这就是交换空间的全部要点。那个系统上还运行着什么?还有内存密集型的吗?可能是