问题现象:
cdh集群 master00节点 hiveserver2服务2小时内挂掉2次,报内存溢出的问题。
错误日志如下:
问题排查:
打印一下堆的gc 信息
jstat -gc pid 1000 5
堆设置了4g的内存,Eden区只有400M, s0 和 s1区 更小,然后剩余的空间都是老年代区,空间配置不合理,重新配置下堆空间。
解决方案:
设置hiveserver2的jvm参数
-Xmn2g -XX:NewRatio=4 -XX:MaxPermSize=512M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled
如下图所示:
重新查看jvm