Linux bug 14258279: scheduling clock overflows in 208 days

早上同事反映数据库不能用。无法正常登录主机。多次尝试后终于登上主机,检查系统日志发现下述错误:

BUG: soft lockup - CPU#5 stuck for 17163091988s!
貌似是操作系统的bug.

以下是详细信息:
# uname -ra
Linux Test-DB01 2.6.32-200.13.1.el5uek #1 SMP Wed Jul 27 21:02:33 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

mysql> select version();
+------------+
| version()  |
+------------+
| 5.5.24-log |
+------------+
1 row in set (0.00 sec)

Dec 18 22:55:44 Test-Db01 kernel: Call Trace:
Dec 18 22:55:44 Test-Db01 kernel: BUG: soft lockup - CPU#5 stuck for 17163091988s! [mysqld:27243]
Dec 18 22:55:44 Test-Db01 kernel: Modules linked in:
autofs4(U) i2c_dev(U) i2c_core(U) hidp(U) rfcomm(U) l2cap(U)
bluetooth(U) rfkill(U) lockd(U) sunrpc(U) nf_conntrack_netbios_ns(U)
ipt_REJECT(U) nf_conntrack_ipv4(U) nf_defrag_ipv4(U) xt_state(U)
nf_conntrack(U) xt_tcpudp(U) ip6_tables(U) x_tables(U) be2iscsi(U)
rdma_cm(U) ib_cm(U) iw_cm(U) ib_sa(U) ib_mad(U) ib_core(U) ib_addr(U)
iscsi_tcp(U) bnx2i(U) cnic(U) uio(U) ipv6(U) cxgb3i(U) libcxgbi(U)
cxgb3(U) libiscsi_tcp(U) libiscsi(U) scsi_transport_iscsi(U)
video(U) output(U) sbs(U) sbshc(U) parport_pc(U) lp(U) parport(U)
joydev(U) ses(U) enclosure(U) bnx2(U) dcdbas(U) serio_raw(U)
snd_seq_dummy(U) snd_seq_oss(U) snd_seq_midi_event(U) snd_seq(U)
snd_seq_device(U) snd_pcm_oss(U) snd_mixer_oss(U) snd_pcm(U)
snd_timer(U)
snd(U) soundcore(U) snd_page_alloc(U) iTCO_wdt(U)
iTCO_vendor_support(U) pcspkr(U) usb_storage(U) shpchp(U)
megaraid_sas(U) [last unloaded: ip_tables]
Dec 18 22:55:44 Test-Db01 kernel: CPU 5:
Dec 18 22:55:44 Test-Db01 kernel: Modules linked in: autofs4(U)
i2c_dev(U) i2c_core(U) hidp(U) rfcomm(U) l2cap(U) bluetooth(U) rfkill(U)
lockd(U) sunrpc(U) nf_conntrack_netbios_ns(U) ipt_REJECT(U)
nf_conntrack_ipv4(U) nf_defrag_ipv4(U) xt_state(U) nf_conntrack(U)
xt_tcpudp(U) ip6_tables(U) x_tables(U) be2iscsi(U) rdma_cm(U) ib_cm(U)
iw_cm(U) ib_sa(U) ib_mad(U) ib_core(U) ib_addr(U) iscsi_tcp(U) bnx2i(U)
cnic(U) uio(U) ipv6(U) cxgb3i(U) libcxgbi(U) cxgb3(U) libiscsi_tcp(U)
libiscsi(U) scsi_transport_iscsi(U) video(U)
output(U) sbs(U) sbshc(U) parport_pc(U) lp(U) parport(U) joydev(U)
ses(U) enclosure(U) bnx2(U) dcdbas(U) serio_raw(U) snd_seq_dummy(U)
snd_seq_oss(U) snd_seq_midi_event(U) snd_seq(U) snd_seq_device(U)
snd_pcm_oss(U) snd_mixer_oss(U) snd_pcm(U) snd_timer(U)
snd(U) soundcore(U) snd_page_alloc(U) iTCO_wdt(U)
iTCO_vendor_support(U) pcspkr(U) usb_storage(U) shpchp(U)
megaraid_sas(U) [last unloaded: ip_tables]
Dec 18 22:55:44 Test-Db01 kernel: Pid: 27243, comm: mysqld Not tainted 2.6.32-200.13.1.el5uek #1 PowerEdge R710
Dec 18 22:55:44 Test-Db01 kernel: RIP: 0033:[<00000000008f95a3>]  [<00000000008f95a3>] 0x8f95a3

虽然文中提到的是在Exadata X2-8 中遇到的问题. 但测试环境中的操作系统内核和错误现象bug中描述的是基本一致的。

Exadata X2-8 database servers running Unbreakable Enterprise Kernel
for Oracle Linux 2.6.32-100.23.1 that have been continuously up for more
than 208 days are susceptible to this problem.  Unbreakable Enterprise
Kernel for Oracle Linux 2.6.32-100.23.1 is
the Linux kernel provided with Exadata releases 11.2.2.2.0 through
11.2.2.4.2, inclusive.  Uptime may be determined by the uptime(1)
command.

解决方案有两种;

1. 升级到新版本

Upgrade to Exadata 11.2.3.1.0 or later (Recommended).

2. 在系统运行到208天前,重启操作系统 。

Reboot database servers before uptime reaches 208 days

目前只能尝试第二种了。

出问题的是一个 :

DELL 的PowerEdge R710 的机器,传说这个型号的机器过半年就要宕机一次。

两种bug出现在一台机器上,真是"巧合"

参考文档:
【MOS】ALERT - Exadata X2-8 systems affected by Linux bug 14258279: scheduling clock overflows in 208 days [ID 1473825.1]
【MOS】Bug 14258279 : [EXADATA] SOFT LOCKUP - CPU#0 STUCK FOR 17163091968S!

时间: 2024-10-10 01:10:14

Linux bug 14258279: scheduling clock overflows in 208 days的相关文章

linux下hwclock及clock命令详解

linux系统分为3个时间,分为当前时间,系统时钟和硬件时钟,可分别用date,clock及hwclock查看. 当前时间使用date命令更改后过一段时间才同步到系统时间,可用clock -w立即同步 hwclock由硬件掌握, hwclock -r显示当前硬件时间 hwclock -s |--hctosys    将硬件时间设为当前时间 hwclock -w |--systohc   将系统时间设为硬件时间 例子: [[email protected] ~]# date -s 2222    

关于Linux Kernel 2.6.28 以上有缺陷,在第208.5天自行重啟的问题

    今天看到一转帖如下: Linux Kernel 2.6.28 以上有缺陷,在第208.5天自行重啟 https://access.redhat.com/knowledge/solutions/68466 sched_clock() overflow around 208.5 days in Linux Kernellast modified by Raghu Udiyar on 04/10/12 - 09:12Issue Linux Kernel panics when sched_cl

Linux之简单命令之日期时间命令之date,cal,clock ,hwclock和tzselect

一.date命令: 在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参数]... [+格式] 2.命令功能: date 可以用来显示或设定系统的日期与时间. 3.命令参数: 必要参数: %H 小时(以00-23来表示).  %I 小时(以01-12来表示).  %K 小时(以0-23来表示).  %l 小时(以0-12来表示).  %M 分钟(以00

Basic Linux Commands :date, clock, hwclock, cal, ls, pwd, whereis, which, who, w, whoami

作业01:自行学习如下命令 date, clock, hwclock, cal ls, cd, pwd, tty, whereis, which stat, echo, shutdown, halt, reboot, poweroff who, w, whoami date: 显示系统时间, [时间日期] date 查看系统当前时间 参数-u显示utc时间 格式化显示年月日 用+号连起来如:date +%Y-%m-%d(如果我们用date +%Y - %m - %d 会发现出错,因为系统看见空格

Linux Kernel 排程機制介紹

http://loda.hala01.com/2011/12/linux-kernel-%E6%8E%92%E7%A8%8B%E6%A9%9F%E5%88%B6%E4%BB%8B%E7%B4%B9/ Linux Kernel 排程機制介紹 Linux Kernel 排程機制介紹 [email protected] by loda. 2011/12/2 多核心架構儼然是目前智慧型手機方案的新趨勢,隨著省電與效能上的考量,多核心的架構各家方案也都有所差異.為能讓同一個Linux Kernel在不同效

计算机构成简介与Linux基础知识

◆?命令--Linux学习的基础,而基础就是核心.????◆?没有基础就只如空中楼阁,每次处理问题的时候,都需要向外界的力量求教,而缺乏自己解决问题的能力.????◆?学习比较被动,知识的储备速度不能紧跟使用需求.????◆?SO,夯实基础反而成为重中之重.想要万丈高楼平地起,就先打好地基,在人们还看不见的时候,挥洒着汗水:而时间会给你成长的回报! 一.计算机构成与功能简介 ?计算机(computer),也称电脑. 1.五大硬件:????????????●?控制器????????????●?运算

0x00-Kali Linux 系列入门第一课

Kali Linux介绍篇 Kali Linux 官网:https://www.kali.org/ Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. Kali Linux 是一款非常不错的渗透测试系统,致力于做最优秀的渗透测试分发系统. Kali Linux 历史篇 Kali Linux 下载篇 2013年3月13日Kali Linux 官网发布了第一个版本1.0.0,更详尽的Kali Linu

Embeded linux之地址映射

一.板级文件 通常会由MACHINE_START到板级文件 MACHINE_START(Chipname, "Chipname") .atag_offset  = 0x100, .map_io  = Chipname_map_io, .init_early = Chipname_init_early, .init_irq = Chipname_gic_init_irq, .handle_irq = gic_handle_irq, .timer   = &Chipname_sys

Linux用户态程序计时方式详解

前言 良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较.但要精确测量程序的运行时间并不容易,因为进程切换.中断.共享的多用户.网络流量.高速缓存访问及转移预测等因素都会对程序计时产生影响. 本文将不考虑这些影响因素(相关资料可参考<深入理解计算机系统>一书),而仅仅关注Linux系统中用户态程序执行时间的计算方式.除本文所述计时方式外,还可借助外部工具统计耗时,如<Linux调试分析诊断利器——strace>一文中介绍的strace. 本文示例代码的运行环