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

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. CSS3实现漂亮ToolTips

    演示Demo 5种效果的主要css如下: /* transform:向元素应用2D或3D转换; transform-origin属性只有在定义了transform以后才生效 */ .tooltip-e ...

  2. linux下的gdb调试工具--内存调试

    接着上一节的代码,在while(1)的循环里面增加代码:sum=0 #include <stdio.h> int main(void) { int sum = 0, i = 0; char ...

  3. (转)对mysql explain讲的比较清楚的

    转自:http://www.blogjava.net/persister/archive/2008/10/27/236813.html 在 explain的帮助下,您就知道什么时候该给表添加索引,以使 ...

  4. 【转】Perl Unicode全攻略

    Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, ...

  5. ApiDemos示例学习(1)——ApiDemos示例的导入

    ---恢复内容开始--- 今天准备开始写这个ApiDemos示例的学习日记了,放在网上以监督自己! 首先是导入该示例.如果我们在配置Android开发环境是,利用Android SDK 安装包中的SD ...

  6. SetThreadAffinityMask设置线程亲缘性

    The SetThreadAffinityMask function sets a processor affinity mask for the specified thread. DWORD_PT ...

  7. android studio 环境配置

    遇到哪些坑: Gradle:configure project 卡死在此处 Haxm is not installed hax is not working and emulator runs in ...

  8. java 多线程使用方法及Socket的使用

    public class newThread implements Runnable{ public void run(){ dosome(); } public void dosome(){ Sys ...

  9. StudentSchema student实例数据库环境搭建

    环境搭建 查看默认表空间和临时表空间 select tablespace_name from dba_tablespaces: 创建用户 并给用户设置默认表空间和临时表空间 SQL> creat ...

  10. 在magento中使用正则式

    $sqlCondition = "IFNULL(_table_name.value, _table_name_default.value) REGEXP '^[^a-zA-Z]'" ...