RHEL 7 kernel 问题记录-1
- kernel panic内容:
kernel BUG at fs/xfs/xfs_aops.c:1062!
- 调查
通过检查 vmcore 即可发现[1004630.854317] kernel BUG at fs/xfs/xfs_aops.c:1062!
- 修复
- 对于
RHEL 7
升级内核版本至kernel-3.10.0-693.el7
及以上 - 对于
RHEL 7.3
升级内核版本至kernel-3.10.0-514.16.1.el7
及以上 - 缓解办法: 如果客户机上 Java
JVM
中使用hsperf
功能,请禁用
- 对于
- 参考文档
RHEL7: kernel crash in xfs_vm_writepage - kernel BUG at fs/xfs/xfs_aops.c:1062!
- kernel panic内容:
- slub内存泄露
SLUB: Unable to allocate memory on node -1 (gfp=0x80d0)
- 调查
检查/var/log/messages
可以发现$ grep "Unable to allocate\|mock" var/log/messages kernel: SLUB: Unable to allocate memory on node -1 (gfp=0x80d0) kernel: SLUB: Unable to allocate memory on node -1 (gfp=0x80d0) kernel: SLUB: Unable to allocate memory on node -1 (gfp=0x80d0)
- 修复
- 对于
RHEL 7
升级内核版本至kernel-3.10.0-1062.4.1.el7
及以上 - 缓解办法:完全关闭内存“kernel memory accounting altogether”
在内核启动参数中添加以下参数cgroup.memory=nokmem
- 对于
- 参考文档
SLUB: Unable to allocate memory on node -1 (gfp=0x20)
- slub内存泄露
- vmcore中检测到
mem_cgroup_css_offline
崩溃
- 调查
调查vmcore[344254.090710] BUG: unable to handle kernel NULL pointer dereference at 00000000000000b8 [344254.090865] IP: [
] mem_cgroup_css_offline+0xfb/0x140 <<< ... ... [344254.093838] RIP: 0010:[ ] [ ] mem_cgroup_css_offline+0xfb/0x140 <<< - 修复
- 对于
RHEL 7.7
将内核版本升级至kernel-3.10.0-1062.4.1.el7
及以上 - 对于
RHEL 7.6
将内核版本升级至kernel-3.10.0-957.38.1.el7
及以上 - 对于
RHEL 7.5
将内核版本升级至kernel-3.10.0-862.44.2.el7
及以上 - 对于
RHEL 7.4
将内核版本升级至kernel-3.10.0-693.61.1.el7
及以上
- 对于
- 参考文档
Kernel panic with exception RIP: mem_cgroup_css_offline caused by a possible slab leak
- vmcore中检测到
- kernel bug: “kernel BUG at mm/mmap.c:738!”
- 调查
vmcore中显示:RELEASE: 3.10.0-693.5.2.el7.x86_64 <--- VERSION: #1 SMP Fri Oct 13 10:46:25 EDT 2017 MACHINE: x86_64 (1995 Mhz) MEMORY: 511.8 GB PANIC: "kernel BUG at mm/mmap.c:738!" <---
- 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-957.el7
及以上 - 对于
RHEL 7.5
将内核版本升级至kernel-3.10.0-862.20.2.el7
及以上 - 对于
RHEL 7.4
将内核版本升级至kernel-3.10.0-693.46.1.el7
及以上
- 对于
- 参考文档
System unexpectedly reboots or panics with “kernel BUG at mm/mmap.c:738”
- 系统重启于
fsnotify()
- 调查
vmcore显示:[exception RIP: fsnotify+0x24b] ... ... #4 [ffff96b6b5a13df0] fsnotify at ffffffffb306186b
- 修复
- 对于
RHEL 7.6
将内核版本升级至kernel-3.10.0-957.el7
及以上 - 对于
RHEL 7.5
将内核版本升级至kernel-3.10.0-862.9.1.el7
及以上 - 可以将内核版本降低到
kernel-3.10.0-862
- 对于
- 参考文档
Soft lockups occur in fsnotify() after updating to RHEL 7.5
- 系统重启于
- 系统由于
Bad page state/map or Bad rss-counter state
导致重启
- 调查
vmcore显示:crash> log|grep -E 'BUG: ' [30921.876412] BUG: Bad page state in process oraagent.bin pfn:325ab7c [30921.879416] BUG: Bad rss-counter state mm:ffff9a3cfca2c4c0 idx:1 val:1
- 修复
- 对于
RHEL 7
将内核版本升级至最新版本 - 进行内存硬件诊断
- 可能由于第三方模块引起
- 与7 问题类似
- 对于
- 参考文档
Bad page state/map or Bad rss-counter state followed by kernel crash or soft lockup Red Hat Enterprise Linux
- 系统由于
- 系统出现
'BUG: Bad page state in process'
并崩溃在down_read_trylock
之前
- 调查
检查vmcore[589570.661039] BUG: Bad page state in process cas pfn:2207dff [625759.760775] BUG: Bad page map in process python pte:80003fddf8200904 pmd:205c25d067 [625759.880053] BUG: Bad page state in process python pfn:2207dff [625760.834004] WARNING: CPU: 19 PID: 76354 at lib/list_debug.c:62 __list_del_entry+0x82/0xd0 ... ... [531007.980839] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008 [531008.020282] IP: [
] down_read_trylock+0x9/0x50 - 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-1062.el7
及以上 - 对于
RHEL 7.6
将内核版本升级至kernel-3.10.0-957.27.2.el7
及以上 - 对于
RHEL 7.5
将内核版本升级至kernel-3.10.0-862.37.1.el7
及以上 - 对于
RHEL 7.4
将内核版本升级至kernel-3.10.0-693.55.1.el7
及以上 - 对于
RHEL 7.3
将内核版本升级至kernel-3.10.0-514.66.2.el7
及以上 - 对于
RHEL 7.2
将内核版本升级至kernel-3.10.0-327.79.2.el7
及以上
- 对于
- 参考文档
‘BUG: Bad page state in process’ event is logged just before crash in down_read_trylock, Red Hat Enterprise Linux 7
- 系统出现
- 系统
kmem_cache_alloc
从mempool_alloc_slab
引用无效内存地址引起crash
- 调查
- 检查vmcore
[14787601.353261] RIP: 0010:[] [] kmem_cache_alloc+0x75/0x1d0 ... ... [14787601.353705] [] mempool_alloc_slab+0x15/0x20 [14787601.353728] [] mempool_alloc+0x69/0x170 - 这是由于内核中的驱动模块(internal模块以及第三方模块)的”use-after-free”或者”double-free”的bug所导致
- 检查vmcore
- 修复
- 对于
RHEL 7
将内核版本升级至最新 - 继续调查这个问题,内核启动参数中添加”slub_debug=FZP”,开启slub debug功能。注意,这会造成主机生产减缓
- 内核启动参数中添加”slub_debug=F”作为一个绕行方案,这样当再次出现freelist指针损坏的问题时,系统不会panic重启
- 对于
- 参考文档
Kernel panic due to “kmem_cache_alloc+117 from mempool_alloc_slab” on RHEL 7
- 系统
- 内核由于BUG
kernel BUG at drivers/ata/libata-sff.c:1350!
引起重启
- 调查
检查vmcore[5252829.523223] kernel BUG at drivers/ata/libata-sff.c:1350! ... ... [5252829.524184] task: ffff9b46dfe8c100 ti: ffff9b4501e58000 task.ti: ffff9b4501e58000 [5252829.524232] RIP: 0010:[
] [ ] ata_sff_pio_task+0x1cc/0x1d0 [libata] - 修复
- 缓解办法:增加底层设备的默认命令超时时间
1
# echo "120" > /sys/block/xxx/device/timeout
- 缓解办法:增加底层设备的默认命令超时时间
- 参考文档
kernel panic with error ‘kernel BUG at drivers/ata/libata-sff.c:1350!’ in virtual machine environment
- 内核由于BUG
- 由于模块
fileaccess_mod
分配slab 内存时在kmem_cache_alloc
内核panic
- 调查
检查vmcore# crash> bt [exception RIP: kmem_cache_alloc+118] ... ... #12 [ffff8817d196be80] scanCache_init at ffffffffa044a4c0 [fileaccess_mod] #13 [ffff8817d196bea0] hook_init at ffffffffa0444b83 [fileaccess_mod] #14 [ffff8817d196bec0] init_module at ffffffffa005a072 [fileaccess_mod] # crash> mod -t NAME TAINTS fileaccess_mod_1005031646 OE
- 修复
- 对于
fileaccess_mod
模块为McAfee
模块,联系厂商调查
- 对于
- 参考文档
Server panics at kmem_cache_alloc while allocating slab memory due to unsigned kernel module fileaccess_mod
- 由于模块
- 系统由于
not syncing: Fatal Machine check or Machine Check Exception
重启
- 调查
检查vmcoreHardware event. This is not a software error. Corrected error Transaction: Memory scrubbing error Memory ECC error occurred during scrub Memory corrected error count (CORE_ERR_CNT): 1 Memory DIMM ID of error: 1 Memory channel ID of error: 2 Hardware event. This is not a software error.
- 修复
- 联系硬件厂商进行调查
1
2
3
4
5
6
7内存 DIMM 故障。
内存控制器故障(通常是板载的)。
主板内存线故障。
BIOS 故障。
过热系统。
RAM 潜在连接故障(来自用户的静电放电)。
电源问题或短路。 - 检查系统BIOS,升级至最新
- 参考文档进行内存检测
- 联系硬件厂商进行调查
- 参考文档
“Kernel panic - not syncing: Fatal Machine check or Machine Check Exception (MCE)” in /var/log/messages
- 系统由于
- 系统由于硬件CPU运行问题重启
- 调查
检查vmcorecrash> bt [exception RIP: skb_release_head_state+0x18] 对该函数进行反汇编skb_release_head_state,并无0x18偏移量 crash> dis -rl ffffffffafc3c178 /usr/src/debug/kernel-3.10.0-1127.el7/linux-3.10.0-1127.el7.x86_64/include/net/dst.h: 300 ... ... 0xffffffffafc3c17a
: je 0xffffffffafc3c208 - 修复
- 该问题只可能由于CPU硬件运行故障或计算错误引起,硬件厂商对CPU深入检查
- 参考文档
Intel microcode for Skylake/Cascade Lake CPUs can cause stability issues
- 内核BUG
"kernel BUG at mm/page_alloc.c:1656!"
- 调查
检查vmcore[310377.349350] kernel BUG at mm/page_alloc.c:1656 ... ... [310377.349406] RIP: 0010:[
] [ ] move_freepages+0x15e/0x160 - 修复
- 对于
RHEL 7.9
将内核版本升级至kernel-3.10.0-1160.11.1.el7
及以上 - 对于
RHEL 7.7
将内核版本升级至kernel-3.10.0-1062.43.1.el7
及以上
- 对于
- 参考文档
RHEL7: Kernel crashes in move_freepages() with a message “kernel BUG at mm/page_alloc.c:1656!”
- 内核BUG
- 内核BUG
kernel BUG at mm/page_alloc.c:1389!
- 调查
检查vmcore[23774.452193] kernel BUG at mm/page_alloc.c:1389!
- 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-862.el7
及以上 - 对于
RHEL 7.4
将内核版本升级至kernel-3.10.0-693.33.1.el7
及以上
- 对于
- 参考文档
RHEL 7.4 server panics with message “kernel BUG at mm/page_alloc.c:1389!”
- 内核BUG
- 内核中出现以下告警
WARNING: at fs/xfs/xfs_aops.c:1244 xfs_vm_releasepage
- 调查
检查系统messagesWARNING: at fs/xfs/xfs_aops.c:1244 xfs_vm_releasepage+0xcb/0x100 [xfs]() ... ... [ffffffffa045556b] xfs_vm_releasepage+0xcb/0x100 [xfs] <<---
- 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-693.el7
及以上
- 对于
- 参考文档
RHEL7: WARNING: at fs/xfs/xfs_aops.c:1244 xfs_vm_releasepage in logs
- 内核中出现以下告警
- 系统崩溃出现以下日志
Timeout: Not all CPUs entered broadcast exception handler
- 调查
检查vmcore# cat vmcore-dmesg.txt [60187489.667365] Kernel panic - not syncing: Timeout: Not all CPUs entered broadcast exception handler
- 修复
- 如果是物理机,请检查硬件尤其是CPU
- 如果是虚拟机,请检查
Hypervisor
- 参考文档
System keeps crashing with message “Timeout: Not all CPUs entered broadcast exception handler”
- 系统崩溃出现以下日志
- 系统hung死前日志记录
e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
- 调查
检查系统message日志[963569.248045] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang: ... ... [963691.387160] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
- 修复
- 对于
RHEL 7.8
将内核版本升级至kernel-3.10.0-1127.el7
及以上 - 强制 PCIe ASPM 进入 Performance 模式可以避免这个问题。在内核启动参数中添加以下配置
1
pcie_aspm=force pcie_aspm.policy=performance
- 对于
- 参考文档
log message ‘e1000e Detected Hardware Unit Hang’ before system hangs
- 系统hung死前日志记录
- 系统重现出现日志
Power key pressed
- 调查
检查系统message日志localhost systemd-logind: Power key pressed. ... ... localhost systemd-logind: Powering Off... ... ... localhost systemd-logind: System is powering down.
- 修复
- 检查系统是否被故意关闭
- 检查硬件控制台是否有关闭、报错相关日志
- 参考文档
Server shutdown/reboot with “Power key pressed” messages
- 系统重现出现日志
- 系统hung死
netlink_compare
- 调查
检查vmcore# crash> bt ... ... [exception RIP: netlink_compare+11] RIP: ffffffff8155654b RSP: ffff88070d253b90 RFLAGS: 00010246
- 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-327.54.1.el7
及以上
- 对于
- 参考文档
Kernel panic or soft lockup or hung in netlink_compare in Red Hat Enterprise Linux 7
- 系统hung死
- 内核位于
inet_twsk_schedule()
崩溃
- 调查
检查vmcore# crash> bt ... ... [exception RIP: inet_twsk_schedule+177]
- 修复
- 对于
RHEL 7.4
将内核版本升级至kernel-3.10.0-693.el7
及以上 - 对于
RHEL 6.10
将内核版本升级至kernel-2.6.32-754.el6
及以上 - 缓解办法,使用
sysctl
添加以下内核参数1
net.ipv4.tcp_tw_recycle = 0
- 对于
- 参考文档
RHEL: Kernel crash in inet_twsk_schedule()
- 内核位于
- 系统由于第三方内核模块重启
- 调查
检查vmcorecrash> bt [exception RIP: pal_lru_find_dirty_sippet+0x5a] crash> sym pal_lru_find_dirty_sippet ffffffffc0b2e1a0 (t) pal_lru_find_dirty_sippet [pal] crash> mod -t NAME TAINTS ... ... pal POE <==
- 修复
- 联系第三方模块供应商进行排查
- 关于系统进入sleep状态
- 需求
- “Freeze / Low-Power Idle” 状态 “Suspend-to-Idle” (“s2idle”)即相同的 “ACPI state: S0”
- 可以使用以下方式进入
1
# echo "freeze" > /sys/power/state
- 参考文档
https://access.redhat.com/labs/rhcb/RHEL-7.8/kernel-3.10.0-1127.19.1.el7/source/blob/Documentation/power/states.txt
- 内核记录
power_meter ACPI000D:00: Found ACPI power meter
- 调查
检查vmcorekernel: power_meter ACPI000D:00: Found ACPI power meter.
- 修复
- 由于内核中的 acpi 驱动程序已成功检测到 ACPI 功率计设备,所以忽略此日志
- 参考文档
kernel log shows “power_meter ACPI000D:00: Found ACPI power meter.”
- 内核记录
- 系统日志中记录
Abort command Issued
- 调查
检查系统message日志kernel: qla2xxx 0000:46:00.0: scsi(1:0:105): Abort command issued -- 1 3e7bbc46 2002.
- 修复
- 该报错为SAN环境返回报错
- 检查SAN环境中设备 FC 交换机、FC 布线、分区或存储阵列是否存在任何问题
- 存储供应商查看交换机日志,以验证 FC 交换机日志中是否有任何错误计数器、CRC 错误
- 参考文档
“Abort command Issued” messages appear in /var/log/messages file
- 系统日志中记录
- 内核由于
not syncing: GAB: Port d halting system due to network failure at [XX:XXXX]
引起恐慌
- 调查
检查vmcoreLLT INFO V-14-1-10205 link 0 (eth1) node 0 in trouble LLT INFO V-14-1-10205 link 1 (eth3) node 0 in trouble LLT INFO V-14-1-10032 link 0 (eth1) node 0 inactive 8 sec (696686965) LLT INFO V-14-1-10032 link 1 (eth3) node 0 inactive 8 sec (696614993) LLT INFO V-14-1-10032 link 0 (eth1) node 0 inactive 9 sec (696686965) LLT INFO V-14-1-10032 link 1 (eth3) node 0 inactive 9 sec (696614993) LLT INFO V-14-1-10032 link 0 (eth1) node 0 inactive 10 sec (696686965) LLT INFO V-14-1-10032 link 1 (eth3) node 0 inactive 10 sec (696614993) LLT INFO V-14-1-10032 link 0 (eth1) node 0 inactive 11 sec (696686965) LLT INFO V-14-1-10032 link 1 (eth3) node 0 inactive 11 sec (696614993) LLT INFO V-14-1-10032 link 0 (eth1) node 0 inactive 12 sec (696686965) LLT INFO V-14-1-10032 link 1 (eth3) node 0 inactive 12 sec (696614993) LLT INFO V-14-1-10032 link 0 (eth1) node 0 inactive 13 sec (696686965) LLT INFO V-14-1-10510 sent hbreq (NULL) on link 0 (eth1) node 0. 4 more to go. LLT INFO V-14-1-10510 sent hbreq (NULL) on link 0 (eth1) node 0. 3 more to go. ... ... GAB INFO V-15-1-20040 Port h[GAB_USER_CLIENT (refcount 0)] gen 263813 visible 0 GAB INFO V-15-1-20033 Port d[GAB_LEGACY_CLIENT (refcount 0)] nid 0 [3:0:0:0] [3:0:0:0] [3:0:0:0] [1:0:0:0] [0:0:0:0] 22 26380f 20 9 GAB INFO V-15-1-20033 Port d[GAB_LEGACY_CLIENT (refcount 0)] nid 1 [3:0:0:0] [3:0:0:0] [3:0:0:0] [2:0:0:0] [0:0:0:0] 22 26380f 20 37 Kernel panic - not syncing: GAB: Port d halting system due to network failure at [14:2166] [..]
- 修复
- 验证系统上的所有网络配置。
- 检查任何有故障的网络接口卡 (NIC)、交换机端口或电缆
- 联系VCS
Veritas Cluster Server
供应商进行进一步检查
- 参考文档
Kernel panic - not syncing: GAB: Port d halting system due to network failure at [XX:XXXX]
- 内核由于
- 虚拟机汇报软锁定
soft lockup
- 调查
检查系统的message日志有以下记录 1-> BUG: soft lockup - CPU#0 stuck for 64s! [proceessname:15789] 2-> kernel: NMI watchdog: BUG: soft lockup - CPU#6 stuck for 25s! [ksoftirqd/6:38] 3-> hrtimer: interrupt took NUMBER ns
- 修复
- 检查主机或虚拟机管理程序是否有工作过载的情况
- 为避免重启,将
kernel.softlockup_panic
值设置为0
- 增加软锁定报告时间的阈值,上限
60S
kernel.watchdog_thresh 旧版RHEL为 kernel.softlockup_thresh
- 参考文档
Virtual machine reports a “BUG: soft lockup” (or multiple at the same time)
- 虚拟机汇报软锁定
- 升级RHEL7.6后,QLogic FC HBA 的系统引导时崩溃,通过 QLogic 提供的LUN无法被识别
- 调查
检查系统启动日志kernel: scsi host15: qla2xxx kernel: qla2xxx [0000:2f:00.0]-00fb:15: QLogic QLE2692 - QLogic 16Gb FC Dual-port HBA. kernel: qla2xxx [0000:2f:00.0]-00fc:15: ISP2261: PCIe (8.0GT/s x8) @ 0000:2f:00.0 hdma+ host#=15 fw=8.08.05 (d0d5). ... kernel: TECH PREVIEW: NVMe over FC may not be fully supported.
- 修复
- 对于
RHEL 7.6
将内核版本升级至RHEL 7.8
及以上 - 升级HBA固件到
v8.08.204
或更高版本 - 有三种缓解办法
- 使用RHEL 7.5 的内核启动
- 将 QLogic HBA 卡的固件降级到以前的版本
- 修改内核模块配置
- 3.1 为内核模块添加以下参数
1
2$ cat > /etc/modprobe.d/qla2xxx.conf
options qla2xxx ql2xnvmeenable=0 - 3.2 重新生成initramfs文件
- 3.3 使用新创建的initramfs启动系统
- 对于
- 参考文档
After upgrading to RHEL 7.6, systems with QLogic FC HBA crash on boot, OR LUNs presented to QLogic are only partially discovered or not at all
- 系统自动重启,日志中记录
systemd: Received SIGINT
- 调查
检查系统message日志systemd: Received SIGINT
- 修复
- 该
SIGINT
从用户或软件发出 - 无法从消息获知谁发出的
- 通过禁用Ctrl-Alt-Del.target来防止将来发生这些事件
- 该
- 参考文档
Why does server reboot with “systemd: Received SIGINT” in /var/log/messages?
- 系统自动重启,日志中记录
vim
崩溃后ABRT
导致内核泄露
- 调查
检查系统日志abrt-hook-ccpp: Process
(vim) of user killed by SIGSEGV - dumping core - 修复
- 将
VIM
版本升级至vim-7.4.160-5.el
及以上 - 将
ABRT
版本升级至abrt-2.1.11-55.el7
及以上
- 将
- 参考文档
ABRT causes out-of-memory condition after vim crash
- 内核BUG
mm/huge_memory.c:1989!
- 调查
检查vmcore[22320502.735528] mapcount 0 page_mapcount 1 [22320502.735572] ------------[ cut here ]------------ [22320502.735587] kernel BUG at mm/huge_memory.c:1989! ... ... [22320502.740331] RIP [
] __split_huge_page+0x738/0x750 - 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-1127.el7
及以上 - 缓解办法:关闭Huge Pages,添加以下内容到grub启动内核参数中并重建
grub.cfg
文件,重启系统1
GRUB_CMDLINE_LINUX="... transparent_hugepage=never"
- 对于
- 参考文档
System crash due to kernel BUG at mm/huge_memory.c:1989!
- 内核BUG
- 系统日志中记录
kernel: mm/memory.c:120: bad pmd
- 调查
检查系统日志kernel: mm/memory.c:120: bad pmd ffff81034d728070(00000013e64000e7
- 修复
- 在当前系统上运行故障内存检查
- 如果硬件出现问题,有硬件更换
- 参考文档
‘kernel: mm/memory.c:120: bad pmd’ gets reported in the system logs
- 系统日志中记录
- 系统日志中记录
kernel: WARNING: CPU: 0 PID: XXX at ./arch/x86/include/asm/thread_info.h:301 sigsuspend+0x6d/0x70
- 调查
检查系统message日志kernel: WARNING: CPU: 2 PID: 15713 at ./arch/x86/include/asm/thread_info.h:301 sigsuspend+0x6d/0x70.
- 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-1160.11.1.el7
及以上
- 对于
- 参考文档
Getting warnings in /var/log/messages: kernel: WARNING: CPU: 0 PID: XXX at ./arch/x86/include/asm/thread_info.h:301 sigsuspend+0x6d/0x70.
- 系统日志中记录
- 内核由于驱动导致panic
intel_pstate_timer_func()
- 调查
检查vmcore[4067605.161646] divide error: 0000 [#1] SMP ... ... [4067605.162343] RIP: 0010:[
] [ ] intel_pstate_timer_func+0x179/0x3d0 - 修复
- 对于
RHEL 7.1
将内核版本升级至kernel-3.10.0-229.20.1.el7
及以上 - 对于
RHEL 7.2
将内核版本升级至kernel-3.10.0-327.el7
及以上 - 对于
RHEL 6
将内核版本升级至kernel-2.6.32-642.el6
及以上
- 对于
- 参考文档
Divide by zero error in intel_pstate_timer_func() [ inline s64 div_s64_rem() ]
- 内核由于驱动导致panic
- 系统因
hpwdt
崩溃
- 调查
检查vmcorecrash> bt PID: 0 TASK: ffff95cbb4d7d140 CPU: 7 COMMAND: "swapper/7" ... ... #4 [ffff95d31fcc8e40] hpwdt_pretimeout at ffffffffc034d594 [hpwdt]
- 修复
- 硬件问题,联系硬件厂商调查
- HPE iLO 4 Firmware Version 低于1.51,存在BUG会导致这个问题
https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c04332584
- 参考文档
Why does the system crash with HP NMI Watchdog [hpwdt]?
- 系统因
polkitd
,dbus-daemon
,accounts-daemon
进程占用CPU高
- 调查
检查系统ps,对应进程的负载 - 修复
- 将
accountsservice
软件包版本升级至accountsservice-0.6.50-5.el7
及以上
- 将
- 参考文档
polkitd and accounts-daemon process consuming a large amount of CPU resources on Red Hat Enterprise Linux 7
- 内核位于
prb_retire_rx_blk_timer_expired
出现软锁导致崩溃
- 调查
检查vmcore[14797.183134] Call Trace: [14797.183136]
[14797.183141] [ ] mod_timer+0x10c/0x230 [14797.183146] [ ] ? prb_retire_current_block+0x110/0x110 [14797.183148] [ ] prb_retire_rx_blk_timer_expired+0x96/0x140 <-- - 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-1127.el7
及以上
- 对于
- 参考文档
kernal panic - NMI watchdog: BUG: soft lockup / prb_retire_rx_blk_timer_expired
- 内核位于
- 内核由于
crash_save_cpu+0x92/0x1d0
崩溃
- 调查
检查vmcoredmesg logs : [121730736.448991] BUG: unable to handle kernel NULL pointer dereference at (null) [121730736.448996] IP: [
] crash_save_cpu+0x92/0x1d0 crash> bt [exception RIP: intel_idle+213] NMI exception stack #12 [ffff8b00fb16fe20] intel_idle at ffffffff816ab6a5 - 修复
- 缓解办法如下
1 设置 numa=off 2 关闭 Transparent Hugepage 3 移除 3rd party modules 4 升级内核至 kernel-3.10.0-862.el7 或更高
- 缓解办法如下
- 参考文档
Kernel panic with RIP crash_save_cpu+0x92/0x1d0
- 内核由于
- 内核BUG
kernel BUG at block/blk-core.c:2500!
- 调查
检查vmcore[536700.120045] kernel BUG at block/blk-core.c:2500!
- 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-229.el7.x86_64
及以上 - 对于
RHEL 7.0
将内核版本升级至kernel-3.10.0-123.13.1.el7.x86_64
及以上
- 对于
- 参考文档
[RHEL7] kernel BUG at block/blk-core.c:2500!
- 内核BUG
- 内核位于
not syncing: Timeout: Not all CPUs entered broadcast exception handler
崩溃
- 调查
检查vmcorePANIC: "Kernel panic - not syncing: Timeout: Not all CPUs entered broadcast exception handler" crash> bt ... ... #3 [ffff9fc6fe8cbdc8] mce_panic at ffffffffad248c45 <<< ... ... #7 [ffff9fc6fe8cbf50] machine_check at ffffffffad96b7ae <<< machine_check() 在正常情况下不会发生。当它被调用时,意味着硬件级别有问题。 [exception RIP: cpu_idle_poll+73]
- 修复
- 联系硬件供应商检查CPU
- 如果是虚拟机,联系虚拟化供应商检查Hypervisor
- 参考文档
System keeps crashing with message “Timeout: Not all CPUs entered broadcast exception handler”
- 内核位于
- 系统日志中记录
rsyslogd was HUPed
- 调查
检查vmcoregrep -i "rsyslogd was HUPed" /var/log/messages rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="1457" x-info="http://www.rsyslog.com"] rsyslogd was HUPed rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="22972" x-info="http://www.rsyslog.com"] rsyslogd was HUPed rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="22972" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
- 修复
HUP
是logrotate
服务发送的信号- 向
syslogd
进程发出HUP
信号以告知写入新文件,因为旧日志文件现在已被重命名。这是预期的行为。
- 参考文档
Getting messages ‘rsyslogd was HUPed’ in /var/log messages
- 系统日志中记录
- 系统日志中记录
'qla2xxx: Invalid completion handle
- 调查
检查系统messages日志qla2xxx [0000:2f:00.0]-5032:15: Invalid completion handle (5df) -- timed-out.
- 修复
- 将
HPE
的固件升级到最新 - 检查硬件
- 将
- 参考文档
System log shows error - ‘qla2xxx: Invalid completion handle’ , F/W Error, and/or heartbeat failure events
- 系统日志中记录
- 内核恐慌
not syncing: Machine check
- 调查
检查vmcore[Hardware Error]: CPU 13: Machine Check Exception: 4 Bank 5: be00000000800400 ... ... [Hardware Error]: Machine check: Processor context corrupt
- 修复
- 内核打印的信息来自硬件,提供给硬件支持人员进行分析
- 联系硬件供应商检查硬件
- 参考文档
RHEL server crashed with error “ Kernel panic- not syncing: Machine check “
- 内核恐慌
- 由于第三方内核模块
vmsecmod
出现死锁
//稍后解析
- 由于第三方内核模块
- 内核日志
SLUB: Unable to allocate memory on node -1
- 调查
检查系统messages日志SLUB: Unable to allocate memory on node -1 (gfp=0x200020) SLUB: Unable to allocate memory on node -1 (gfp=0x20) SLUB: Unable to allocate memory on node -1 (gfp=0x20)
- 修复
- 对于
RHEL 7
将内核版本升级至kernel-3.10.0-1062.4.1.el7
及以上 - 缓解办法:完全禁用内存记账,添加如下
grub
内核参数,重建grub
后并启动1
cgroup.memory=nokmem
- 对于
- 参考文档
SLUB: Unable to allocate memory on node -1 (gfp=0x20)
- 内核日志
- 使用
GPFS
的系统7.3频繁重启
- 调查
检查vmcorecrash> ps -p 6318 PID: 0 TASK: c000000001358180 CPU: 0 COMMAND: "swapper/0" PID: 1 TASK: c000001ef9d00000 CPU: 31 COMMAND: "systemd" PID: 41045 TASK: c000000e9e8d5300 CPU: 10 COMMAND: "runmmfs" PID: 68294 TASK: c000000e9f766670 CPU: 12 COMMAND: "mmfsd" < PID: 6296 TASK: c000000f4da56830 CPU: 66 COMMAND: "mmcommon" PID: 6317 TASK: c000001ee9befac0 CPU: 41 COMMAND: "umount" PID: 6318 TASK: c000001dc63779e0 CPU: 57 COMMAND: "umount.nfs" <
- 修复
- 联系
GPFS
供应商进行进一步分析,gpfs
模块mmfs26
和mmfslinux
涉及崩溃上下文
- 联系
- 参考文档
GPFS (Spectrum Scale) 7.3 ppc64 lpars are crashing
- 使用
仅用作经验记录