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

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. Photoshop CS6 基础知识

                                                                  Photoshop CS6  基础知识 新建  练习 宽度72, 像素厘米 ...

  2. Spring-----1、Spring简介和Spring3.0的变化

    转载自:http://blog.csdn.net/hekewangzi/article/details/41324441

  3. eclipse 使用maven 创建web3.1项目

    最近刚刚开始学java, 在框架搭建的过程中, 遭遇了诸多的坑, 和各种各样的不解与困惑, 由于没有什么java的相关基础, 看到各种xml的配置文件, 当真是一个头两个大. 并且并不知道那个配置到底 ...

  4. 以Python列表特性为切入点的求质数列表的方法

    一般,构造一个含有2-x之间所有质数的列表,我们采用最简单的遍历判断质数的方法: # 方法一 1 prime = [] def is_prime(n): if n <= 1: return Fa ...

  5. 使用SecureCRT网络连接树莓派

        为了更加方便可以通过网络来连接.控制树莓派,使用SecureCRT可以通过网络来连接树莓派.     1.在树莓派上通过终端命令ifconfig 来查看当前树莓派的IP地址:     IP地址 ...

  6. Database.SetInitializer的几种参数

    一:数据库不存在时重新创建数据库 Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testCon ...

  7. Android Studio下载安装及配置图文教程

    原文 http://jingyan.baidu.com/article/9c69d48f56835e13c9024e95.html AndroidStudio下载地址:https://develope ...

  8. 同步Flex Chart的数据提示

    原文 http://www.riafan.com/sync-datatips-for-flex-chart/ 图表数据提示的同步不仅包含单个图表内多个系列的数据提示的同步,也包含多个图表的数据提示的同 ...

  9. 一个使用enum实现多态的例子

    下面的写法与直接 使用静态方法而言,可读性.可维护性更强是不是有DSL的感觉.... 当然enum反编译后,的确就是静态方法. /** * Created by MyWorld on 2016/8/3 ...

  10. CC++初学者编程教程(11) 配置Windows数据库服务器

    1.我们新建一个虚拟机. 2. 选择默认的WorkStation10.0. 3.我们选择VS2012的镜像. 4.我们设置用户密码,跳过WindowsSever2012密钥 5.我们选择是,稍后手动激 ...