什么是tomcat内存堆提交?

Sat*_*ish 2 linux memory heap tomcat out-of-memory

我们正在监视tomcat服务器,我发现只要Committed Heap内存达到最大堆内存我的tomcat崩溃或OOM错误,但同时Heap Used内存正常使用.可能有人解释了使用的内容以及为什么在Heap使用时崩溃的原因是正常的.

请参见下图,以便您了解一下.

在此输入图像描述

nsf*_*n55 9

承诺空间是非虚拟空间.即静态分配给JVM的给定分区的空间.当您使用可选的大小调整开关-Xms和-Xmx时,并非所有内容最初都会提交给特定的内存分区.随着世代需要扩展,他们被允许成长为"虚拟"空间.

您的图表看起来应该如何运作.随着您使用的空间越来越接近您的承诺,承诺的空间将扩展到最大值.当提交达到它的最大大小时,它无处可去.如果它不能用最后一个沟槽GC保存自己,那么你的JVM就会消失.