# 内存溢出宕机分析
# 判断是否内存溢出
# 查找内存溢出文件
非信创环境下,检查 ApacheJetspeed/bin 目录下是否存在类似 java_pid233380.hprof 名称的大文件,文件大小一般接近JVM最大堆内存。
信创环境下,可以检查 信创中间件的bin、logs目录下是否存在类似大文件
如果部署了SeeyonDumpTools,可以到当天的dump日志目录下检查是否存在名为 _heapdump_20260410.bin 的大文件
对应时间存在内存溢出文件,则属于内存溢出
# 检查堆内存年老代使用率
1、 登录OA系统管理员账号,切换后台,进入系统维护,系统监控。检查JVM堆内存老年代使用率

检查老年代使用率峰值是否超过90%
2、如果OA服务已无法登录,但进程还没有结束。可以使用命令行的方式进行查看
登录OA服务器,进入 jdk/bin 目录下(注意必须有完整jdk,信创系统自带的jre没有相关工具,需拷贝完整jdk)
查找OA服务的进程号(PID),并执行以下命令
cd jdk/bin
# Linux
./jstat -gcutil 进程号
# Windows
jstat.exe -gcutil 进程号

# 指标说明
S0:幸存1区当前使用比例
S1:幸存2区当前使用比例
E:伊甸园区使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
# 手动导出内存dump
# 分析内存溢出文件
借助mat工具,可以分析内存dump文件
编撰人:wangyxyf
← 通用宕机排查步骤 服务器CPU使用率高 →