平常环境莫名宕机的处理

背景

11.21 早上 pd 给讲法务评审的时候,操做平常环境,莫名就 down 机了,并且 pd 反馈常常会这样。(ps : pd 反馈系统请求时间过长,性能不好,后续也会排查解决)
因而排查了一下系统 down 机的缘由linux

缘由

查看内存 setenv.sh 设置
if [ memTotal−le2048];thenSERVICEOPTS="{SERVICE_OPTS} -Xms1536m -Xmx1536m"
SERVICE_OPTS="SERVICEOPTS−Xmn768m"elseSERVICEOPTS="{SERVICE_OPTS} -Xms4g -Xmx4g"
SERVICE_OPTS="${SERVICE_OPTS} -Xmn2g"
fijvm

查看平常机器内存
$cat /proc/meminfo | grep MemTotal
MemTotal: 4194304 kB
image.png性能

看出问题了吧,咱们设置的最大内存是4G,而咱们的linux 机器是不会把4G 内存所有分配给应用的。应用在运行过程当中,一直会消耗内存,当快达到4G 的时候,应用认为还有可用内存,并不必定会及时 GC。致使内存不足,内存被撑满了,咱们的应用也就 down 机了spa

处理方法

两种方法:

1. 设置jvm 参数为自适应

2. 申请8G 机器

这里我选择方法一code

1.拉取新的分支,修改 setenv.shcdn

Plain Text内存

# if os memory <= 4G
if [ $memTotal -le 4195 ]; then
  SERVICE_OPTS="${SERVICE_OPTS} -Xms3536m -Xmx3536m"
  SERVICE_OPTS="${SERVICE_OPTS} -Xmn1536m"
else
  SERVICE_OPTS="${SERVICE_OPTS} -Xms4g -Xmx4g"
  SERVICE_OPTS="${SERVICE_OPTS} -Xmn2g"
fi

这里根据咱们的环境设置,由于平常实际上是4G,线上机器是8G,因此修改只会修改平常环境。file

相关文章
相关标签/搜索