故障现象
某应用 rac 节点发生自动重启,重启后生成了系统 dump,系统恢复正常。
分析过程
1、检查 errpt 日志,系统记录重启后生成 dump。
2、 分析系统资源的使用情况,检查 nmon 和 OSwatcher 记录,可以看到问题发生时系统资源使用没有明显异常。CPU,内存,IO 没有明显资源不足和瓶颈产生。
3、系统 dump 分析如下:
64K system pinnable frames remaining: 00000000 0.0MB
从系统 dump 中发现,系统发生重启时,系统可用的 64KB pin 内存已经耗尽,可用的内存数值是 0,当有新的内存申请时,发生了系统宕机的情况。
4、进一步分析,大部分 64KB pin 内存用于 kernel heap。
系统 kernel_heap 使用的页面的大小 64KB
NAME CUR DEF BOOT MIN MAX UNIT TYPE
kernel_heap_psize 64K 0 0 0 16M bytes B
5、初步分析系统重启原因,是由于系统可用的 64KB pin 内存已经耗尽引起的。当 64KB pin 内存耗尽时,需要将 4KB 内存转换为 64KB 内存,当系统处于转换的过程当中,系统 kernel_heap 有内存申请,系统提供不了,导致了宕机。