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
性能
看出問題了吧,咱們設置的最大內存是4G,而咱們的linux 機器是不會把4G 內存所有分配給應用的。應用在運行過程當中,一直會消耗內存,當快達到4G 的時候,應用認爲還有可用內存,並不必定會及時 GC。致使內存不足,內存被撐滿了,咱們的應用也就 down 機了spa
這裏我選擇方法一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