JVM 參數
-Xms 初始化堆內存
-Xmx 最大堆內存
-XX:+HeapDumpOnOutOfMemoryError 內存溢出時生成dump快照
-XX:HeapDumpPath 內存溢出時生產dump快照路徑
-XX:OnOutOfMemoryError 內存溢出時執行特定命令
內存溢出後自動重啓
以部署在linux系統/opt/Server目錄下的Server.jar爲例
1.在run.sh啓動腳本中添加jvm參數:
-XX:OnOutOfMemoryError=/opt/Server/restart.sh
2.restart.sh腳本
linux環境:
#!/bin/bash
pid=$(ps -ef|grep Server.jar|awk '{if($8=="java") {print $2}}')
kill -9 $pid
cd /opt/Server/;sh run.sh
Windows環境:
echo off
wmic process where Name='java.exe' delete
cd D:\Server
start run.bat