应用服务在有些时候会因为请求过大、代码循环有问题、流未关闭等原因,会导致应用服务内存溢出,服务异常。
因此需要一个监控,抓取异常,并且发送一个告警信息,配置过程如下:
- 1.应用启动加参数
java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/oom/dump.hprof -XX:OnOutOfMemoryError=“sh /home/oom/oom.sh” -jar -Dfile.encoding=utf-8 -Xmx256m -Xms256m app-application.jar
HeapDumpPath:内存溢出生成dump文件路径
OnOutOfMemoryError:内存溢出后调用的脚本
PS:-XX:+HeapDumpOnOutOfMemoryError、-XX:OnOutOfMemoryError 一定要放在 -jar 之前
- 2.测试
代码:
import org.springframework.web.bind.annotation.<