Tomcat系统占用内存和JVM占用内存不一致

weiliu007 发布于 2016/05/05 16:12
阅读 476
收藏 0

@EF0718 你好,想跟你请教个问题:

Tomcat系统占用内存和JVM占用内存不一致

以下是问题补充:

@weiliu007:Tomcat跑了一段时间发现内存泄露,内存占用达90%以上(3G以上)之后就挂了。但是用JProfile和jstat查看JVM的堆内存,发现一直稳定在200M-500M之间。 (2016/05/05 16:12)
加载中
0
EF0718
EF0718

堆内存分为最大堆内存和当前最大堆内存。当前最大堆内存的大小会随着内存的上涨不断向最大堆内存靠近。当GC之后,当前最大堆内存不会下降。那么从系统进程角度看,该进程的内存只会越来越多,不会下降。从JVM堆内存角度看,虽然垃圾被回收了,但被回收的那部分区域的内存位置还是一直占用的。

weiliu007
weiliu007
回复 @EF0718 : 好的 谢谢
EF0718
EF0718
回复 @liuweixy520 : 这个现象我也无法解答。
weiliu007
weiliu007
但是为啥,系统进程的内存有时也会减少,这个是为什么呢?
0
huan
huan
还有非堆内存
weiliu007
weiliu007
非堆内存很少 不到50M
0
原版什锦八宝饭
原版什锦八宝饭

1、jvm向系统申请了1000M内存,从操作系统看tomcat占用了1000M内存。

2、jvm内实际只用了200M左右。

如果tomcat出现内存溢出,请分析GC日志和溢出时的堆内存镜像排查问题。

weiliu007
weiliu007
好的 ,谢谢到时不懂再请教您。
0
weiliu007
weiliu007
好的 谢谢
返回顶部
顶部