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

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!

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

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

        今天看到一转帖如下: Linux Kernel 2.6.28 以上有缺陷,在第208.5天自行重啟 https://access.redhat.com/knowledge/solutions/ ...

  2. linux 不能用clock 计算sleep的时间

    http://bbs.csdn.net/topics/390558707 在Windows Sleep()占用processor time,Linux下的sleep()不占用processor tim ...

  3. Windows和linux下clock函数

    windows:  Calculates the wall-clock time used by the calling process. return:The elapsed wall-clock ...

  4. 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/ ...

  5. linux服务器在运行210天左右宕机

    减小字体 增大字体 作者:错新网  来源:www.cuoxin.com  发布时间:2014-2-25 19:21:32 错新网讯   最近几天,一批linux线上的服务器接连宕机,当时以为是硬件问题 ...

  6. mplayer - Linux下的电影播放器

    概要 mplayer [选项] [ 文件 | URL | 播放列表 | - ] mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项] mplayer [全局选项] {一组文件和 ...

  7. Linux资源控制-CPU和内存

    主要介绍Linux下, 如果对进程的CPU和内存资源的使用情况进行控制的方法. CPU资源控制 每个进程能够占用CPU多长时间, 什么时候能够占用CPU是和系统的调度密切相关的. Linux系统中有多 ...

  8. Linux Kernel 代码艺术——编译时断言

    本系列文章主要写我在阅读Linux内核过程中,关注的比较难以理解但又设计巧妙的代码片段(不关注OS的各个模块的设计思想,此部分我准备写在“深入理解Linux Kernel” 系列文章中),一来通过内核 ...

  9. Linux资源控制-CPU和内存【转】

    转自:http://www.cnblogs.com/wang_yb/p/3942208.html 主要介绍Linux下, 如果对进程的CPU和内存资源的使用情况进行控制的方法. CPU资源控制 每个进 ...

随机推荐

  1. 对 PInvoke 函数“WinVideo!WinVideo.webcam::SendMessage”的调用导致堆栈不对称

    从.NET1.1升级到.NET2.0时出现的PInvokeStackImbalance错误微软官方的解释 (http://msdn2.microsoft.com/zh-cn/library/0htdy ...

  2. 初学Django

    纵然有众多大牛写过这些简单入门文章,但作为记录,还是要自己动手写下来的比较靠谱,‘好脑筋不如烂笔头’啊! Python 安装 Django本身是纯Python编写的,所以安装框架的第一步是确保你已经安 ...

  3. JavaScript基本概念(操作符)

    一元操作符 一元操作符在处理所有的非数值时,相当于将该值经过Number()转换成数值,如 +"12" 将把 "12" 字符串转换为数字. 位操作符 负数在计算 ...

  4. web2py官方文档翻译

    00前言 我相信能够轻松地构建高质量增长的web应用程序是至关重要的一个自由和开放的社会.这可以防止玩家最大的垄断信息的流通. 因此我从2007年开始web2py项目,主要是作为一种教学工具与简化we ...

  5. cx_Oracle模块详解

    1.安装cx_Oracle模块 1-1.环境准备: 1-1-1.oracle client最小安装 instantclient-sqlplus-linux.x64-11.2.0.4.0 instant ...

  6. Java 集合嵌套List of List

    在LeetCode上遇到这样返回值 public class Solution { public List<List<Integer>> levelOrder(TreeNode ...

  7. Keil MDK中使用pc-lint的详细方法

    keil MDK版本:V4.03 PC-lint版本:  V8.0 关于pc-lint的强大作用,网上有很多,这里不想再复述,只说一句:能通过pc-lint检验的程序不一定没有问题,但通过了pc-li ...

  8. node.js安装和启动

    在Windows上安装 Node.js十分方便,我们只需要访问node.js官网http://www.nodejs.org/,点击Download链接,然后选择Windows Installer(32 ...

  9. Hibernate 、继承关联映射

    一个继承树一张表(subclass) 一个继承树一张表是指将一个类和他下面的所有派生类的所有的属性都放在一张表中,举例有Employee这个实体,在他下面分别派生了两个类skill和sell,通过Hi ...

  10. #include <fstream>

    1 fstream 2 ifstream 3 ofstream 4 seekg 5 seekp 6 tellg 7 tellp 1 fstream 打开输入输出文件流 #include <ios ...