Java 內存溢出處理辦法

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章