服务器死机问题,请大家帮忙看看~~最近快被这个问题搞死了

41 views
Skip to first unread message

zymaxs

unread,
Sep 5, 2010, 11:06:14 PM9/5/10
to Shanghai Linux User Group
最近遇到服务器死机问题相当的郁闷
不知道大家有没有遇到过类似的问题请指点一下
情况大概是现在有2台linux服务器跑着不同的服务,运行一段时间(少则2天多不超过一周)机器死机
Unable to handle kernel paging request at virtual address

2台都是 2.6.9-22.ELsmp

服务器A死机时的Message
Sep 5 07:20:44 localhost kernel: Unable to handle kernel paging
request at virtual address b5620000
Sep 5 07:20:44 localhost kernel: printing eip:
Sep 5 07:20:44 localhost kernel: f88ae016
Sep 5 07:20:44 localhost kernel: *pde = 00000001
Sep 5 07:20:44 localhost kernel: Oops: 0002 [#1]
Sep 5 07:20:44 localhost kernel: SMP
Sep 5 07:20:44 localhost kernel: Modules linked in: md5 ipv6
parport_pc lp parport autofs4 i2c_dev i2c_core sunrpc dm_mirror dm_mod
button battery ac uhci_hcd ehci_hcd snd_azx snd_hda_codec snd_pcm_oss
snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc r8169(U)
floppy ext3 jbd ata_piix libata sd_mod scsi_mod
Sep 5 07:20:44 localhost kernel: CPU: 0
Sep 5 07:20:44 localhost kernel: EIP: 0060:[<f88ae016>] Not
tainted VLI
Sep 5 07:20:44 localhost kernel: EFLAGS: 00010293 (2.6.9-22.ELsmp)
Sep 5 07:20:44 localhost kernel: EIP is at 0xf88ae016
Sep 5 07:20:44 localhost kernel: eax: 00001000 ebx: f88c81a0 ecx:
c225c3b0 edx: b5620000
Sep 5 07:20:44 localhost kernel: esi: f1951f58 edi: 00000001 ebp:
f1951ef0 esp: f1951db0
Sep 5 07:20:44 localhost kernel: ds: 007b es: 007b ss: 0068
Sep 5 07:20:44 localhost kernel: Process java (pid: 4118,
threadinfo=f1951000 task=f4f3f430)
Sep 5 07:20:44 localhost kernel: Stack: 00000000 00001000 00000007
00000022 ffffffff 00000000 00000000 f1950000
Sep 5 07:20:44 localhost kernel: 00000010 00000001 00000001
f88ae082 0000038b 00000002 0000006f 00000000
Sep 5 07:20:44 localhost kernel: f1951f58 00000001 f1951ef0
f88b43e3 0000038b f1951e30 00000001 00000008
Sep 5 07:20:44 localhost kernel: Call Trace:
Sep 5 07:20:44 localhost kernel: [<c0161e39>] sys_stat64+0x1e/0x23
Sep 5 07:20:44 localhost kernel: Code: 00 00 00 00 58 2d 0c ee fe ff
89 c2 8d 44 24 08 50 6a 5a ff 12 89 c2 83 c4 10 b8 00 00 00 00 81 fa
ff ef ff ff 77 09 8b 44 24 04 <89> 02 8d 42 04 83 c4 2c c3 56 53 83 ec
0c 8b 74 24 18 83 ee 04
Sep 5 07:20:44 localhost kernel: <0>Fatal exception: panic in 5
seconds

服务器B死机时的Message
Sep 5 02:42:38 localhost kernel: Unable to handle kernel paging
request at virtual address b4e65000
Sep 5 02:42:38 localhost kernel: printing eip:
Sep 5 02:42:38 localhost kernel: f887e016
Sep 5 02:42:38 localhost kernel: *pde = 00000000
Sep 5 02:42:38 localhost kernel: Oops: 0002 [#1]
Sep 5 02:42:38 localhost kernel: SMP
Sep 5 02:42:38 localhost kernel: Modules linked in: md5 ipv6
parport_pc lp parport autofs4 i2c_dev i2c_core sunrpc dm_mirror dm_mod
button battery ac uhci_hcd ehci_hcd hw_random shpchp bnx2(U) ext3 jbd
megaraid_sas(U) sd_mod scsi_mod
Sep 5 02:42:38 localhost kernel: CPU: 2
Sep 5 02:42:38 localhost kernel: EIP: 0060:[<f887e016>] Not
tainted VLI
Sep 5 02:42:38 localhost kernel: EFLAGS: 00010293 (2.6.9-22.ELsmp)
Sep 5 02:42:38 localhost kernel: EIP is at 0xf887e016
Sep 5 02:42:38 localhost kernel: eax: 00003000 ebx: f88981a0 ecx:
f730cf30 edx: b4e65000
Sep 5 02:42:38 localhost kernel: esi: f50baf58 edi: 00000001 ebp:
f50baef0 esp: f50badb0
Sep 5 02:42:38 localhost kernel: ds: 007b es: 007b ss: 0068
Sep 5 02:42:38 localhost kernel: Process java (pid: 4265,
threadinfo=f50ba000 task=f50e0270)
Sep 5 02:42:38 localhost kernel: Stack: 00000000 00003000 00000007
00000022 ffffffff 00000000 00000000 f50b0000
Sep 5 02:42:38 localhost kernel: 00000010 00000001 00000001
f887e082 00002090 00000002 000001ae 00000000
Sep 5 02:42:38 localhost kernel: f50baf58 00000001 f50baef0
f88843e3 00002090 f50bae30 00000001 00000008
Sep 5 02:42:38 localhost kernel: Call Trace:
Sep 5 02:42:38 localhost kernel: [<c013480c>] unqueue_me+0x73/0x79
Sep 5 02:42:38 localhost kernel: [<c0161e2a>] sys_stat64+0xf/0x23
Sep 5 02:42:38 localhost kernel: [<c01342bf>] get_futex_key
+0x39/0x108
Sep 5 02:42:38 localhost kernel: Code: 00 00 00 00 58 2d 0c ee fe ff
89 c2 8d 44 24 08 50 6a 5a ff 12 89 c2 83 c4 10 b8 00 00 00 00 81 fa
ff ef ff ff 77 09 8b 44 24 04 <89> 02 8d 42 04 83 c4 2c c3 56 53 83 ec
0c 8b 74 24 18 83 ee 04
Sep 5 02:42:38 localhost kernel: <0>Fatal exception: panic in 5
seconds

发现这2台不同的服务器当中有几段报错信息都是类似的

另外一个很奇怪的问题是提到的Process java pid
我做了个每隔2分钟输出ps日志
发现服务器B在死机之前的PS列表中没有这个pid的java进程

Sun Sep 5 02:42:01 CST 2010
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 3628 556 ? S Sep03 0:00 init
[3]
root 2 0.0 0.0 0 0 ? S Sep03 0:00
[migration/0]
root 3 0.0 0.0 0 0 ? SN Sep03 0:00
[ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S Sep03 0:00
[migration/1]
root 5 0.0 0.0 0 0 ? SN Sep03 0:00
[ksoftirqd/1]
root 6 0.0 0.0 0 0 ? S Sep03 0:00
[migration/2]
root 7 0.0 0.0 0 0 ? SN Sep03 0:00
[ksoftirqd/2]
root 8 0.0 0.0 0 0 ? S Sep03 0:00
[migration/3]
root 9 0.0 0.0 0 0 ? SN Sep03 0:00
[ksoftirqd/3]
root 10 0.0 0.0 0 0 ? S< Sep03 0:00 [events/
0]
root 11 0.0 0.0 0 0 ? S< Sep03 0:00 [events/
1]
root 12 0.0 0.0 0 0 ? S< Sep03 0:00 [events/
2]
root 13 0.0 0.0 0 0 ? S< Sep03 0:00 [events/
3]
root 14 0.0 0.0 0 0 ? S< Sep03 0:00
[khelper]
root 15 0.0 0.0 0 0 ? S< Sep03 0:00
[kacpid]
root 71 0.0 0.0 0 0 ? S< Sep03 0:00
[kblockd/0]
root 72 0.0 0.0 0 0 ? S< Sep03 0:00
[kblockd/1]
root 73 0.0 0.0 0 0 ? S< Sep03 0:00
[kblockd/2]
root 74 0.0 0.0 0 0 ? S< Sep03 0:00
[kblockd/3]
root 75 0.0 0.0 0 0 ? S Sep03 0:00 [khubd]
root 84 0.0 0.0 0 0 ? S Sep03 0:00
[pdflush]
root 85 0.0 0.0 0 0 ? S Sep03 0:01
[pdflush]
root 87 0.0 0.0 0 0 ? S< Sep03 0:00 [aio/0]
root 88 0.0 0.0 0 0 ? S< Sep03 0:00 [aio/1]
root 89 0.0 0.0 0 0 ? S< Sep03 0:00 [aio/2]
root 90 0.0 0.0 0 0 ? S< Sep03 0:00 [aio/3]
root 86 0.0 0.0 0 0 ? S Sep03 0:00
[kswapd0]
root 163 0.0 0.0 0 0 ? S Sep03 0:00
[kseriod]
root 228 0.0 0.0 0 0 ? S Sep03 0:00
[scsi_eh_0]
root 243 0.0 0.0 0 0 ? S Sep03 0:00
[kjournald]
root 1018 0.0 0.0 2136 448 ? S<s Sep03 0:00 udevd
root 1239 0.0 0.0 0 0 ? S Sep03 0:00
[shpchpd_event]
root 1642 0.0 0.0 0 0 ? S< Sep03 0:00
[kauditd]
root 1757 0.0 0.0 0 0 ? S< Sep03 0:00
[kmirrord]
root 1758 0.0 0.0 0 0 ? S< Sep03 0:00
[kmir_mon]
root 1784 0.0 0.0 0 0 ? S Sep03 0:00
[kjournald]
root 1785 0.0 0.0 0 0 ? S Sep03 0:00
[kjournald]
root 2498 0.0 0.0 3068 596 ? Ss Sep03 0:00 syslogd
-m 0
root 2502 0.0 0.0 3324 468 ? Ss Sep03 0:00 klogd -
x
root 2513 0.0 0.0 3096 476 ? Ss Sep03 0:07
irqbalance
rpc 2522 0.0 0.0 3332 576 ? Ss Sep03 0:00 portmap
rpcuser 2542 0.0 0.0 1700 756 ? Ss Sep03 0:00
rpc.statd
root 2570 0.0 0.0 5824 1008 ? Ss Sep03 0:00
rpc.idmapd
root 2656 0.0 0.0 2860 552 ? Ss Sep03 0:00 /usr/
sbin/acpid
root 2667 0.0 0.0 9912 2136 ? Ss Sep03 0:00 cupsd
root 2699 0.0 0.0 4620 1708 ? Ss Sep03 0:00 /usr/
sbin/sshd
root 2736 0.0 0.0 3704 828 ? Ss Sep03 0:00 xinetd -
stayalive -pidfile /var/run/xinetd.pid
root 2746 0.0 0.0 4828 1020 ? S Sep03 0:00 /usr/
sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 2756 0.0 0.0 2328 524 ? Ss Sep03 0:00 gpm -m /
dev/input/mice -t imps2
htt 2784 0.0 0.0 3496 324 ? Ss Sep03 0:00 /usr/
sbin/htt -retryonerror 0
htt 2785 0.0 0.0 8192 2724 ? S Sep03 0:00
htt_server -nodaemon
root 2795 0.0 0.0 7340 1168 ? Ss Sep03 0:00 crond
xfs 2823 0.0 0.0 5160 1564 ? Ss Sep03 0:00 xfs -
droppriv -daemon
root 2842 0.0 0.0 3680 736 ? Ss Sep03 0:01 /usr/
sbin/atd
dbus 2852 0.0 0.0 3240 1228 ? Ss Sep03 0:00 dbus-
daemon-1 --system
root 2865 0.0 0.0 3080 1036 ? Ss Sep03 0:00 cups-
config-daemon
root 2876 0.0 0.1 9652 6808 ? Ss Sep03 0:43 hald
root 2896 0.0 0.0 5848 1256 ? S Sep03 0:00 /bin/
sh ./bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/
local/mysql/data/localhost.localdomain.pid
mysql 2936 1.1 1.4 401952 61976 ? Sl Sep03 27:42 /usr/
local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/
mysql/data --user=mysql --pid-file=/usr/local/mysql/data/
localhost.localdomain.pid --skip-external-locking --port=3306 --
socket=/tmp/mysql.sock
root 3271 0.0 0.0 2544 416 tty1 Ss+ Sep03 0:00 /sbin/
mingetty tty1
root 3272 0.0 0.0 2000 416 tty2 Ss+ Sep03 0:00 /sbin/
mingetty tty2
root 3273 0.0 0.0 1596 412 tty3 Ss+ Sep03 0:00 /sbin/
mingetty tty3
root 3276 0.0 0.0 3032 416 tty4 Ss+ Sep03 0:00 /sbin/
mingetty tty4
root 3285 0.0 0.0 3460 412 tty5 Ss+ Sep03 0:00 /sbin/
mingetty tty5
root 3286 0.0 0.0 1880 412 tty6 Ss+ Sep03 0:00 /sbin/
mingetty tty6
root 3671 0.4 1.7 502396 73568 ? Sl Sep03 11:07 java -
Xmx300m -cp 人工打码
root 3727 0.0 0.3 452936 12688 ? Sl Sep03 0:00 java -
Xmx300m -cp 人工打码
root 3764 0.0 0.4 459692 20296 ? Sl Sep03 0:02 java -
Xmx300m -cp 人工打码
root 3804 0.1 1.1 505224 49012 ? Sl Sep03 4:36 java -
Xmx300m -cp 人工打码
root 3804 0.1 1.1 505224 49012 ? Sl Sep03 4:36 java -
Xmx300m -cp 人工打码
root 3842 0.0 0.7 468664 30584 ? Sl Sep03 0:14 java -
Xmx300m -cp 人工打码
root 3977 0.1 1.7 520968 73048 ? Sl Sep03 2:43 java -
Xmx300m -cp 人工打码
root 4220 1.9 6.0 1034480 251556 ? Sl Sep03 48:02 /usr/
jdk1.6.0_01/bin/java -
Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -
Djava.util.logging.config.file=/usr/apache-tomcat-5.5.17/conf/
logging.properties -Xms512m -Xmx640m -XX:MaxNewSize=256m -
XX:MaxPermSize=256m -Djava.endorsed.dirs=/usr/apache-tomcat-5.5.17/
common/endorsed -classpath :/usr/apache-tomcat-5.5.17/bin/
bootstrap.jar:/usr/apache-tomcat-5.5.17/bin/commons-logging-api.jar -
Dcatalina.base=/usr/apache-tomcat-5.5.17 -Dcatalina.home=/usr/apache-
tomcat-5.5.17 -Djava.io.tmpdir=/usr/apache-tomcat-5.5.17/temp
org.apache.catalina.startup.Bootstrap start
root 19892 0.0 0.0 7920 1488 ? S 02:42 0:00 crond
root 19893 0.0 0.0 4080 844 ? Ss 02:42 0:00 sh /
home/stat.sh
root 19897 0.0 0.0 3124 752 ? R 02:42 0:00 ps
auxww

系统java -version
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Server VM (build 1.6.0_01-b06, mixed mode)


服务器B死机前的状态
Sun Sep 5 02:42:01 CST 2010
procs -----------memory---------- ---swap-- -----io---- --system-- ----
cpu----
r b swpd free buff cache si so bi bo in cs us
sy id wa
0 0 0 26844 75656 3389104 0 0 4 10 70 7
0 1 99 0

请大家帮忙分析一下
最近被这个问题搞的焦头烂额了

小马xiaoma

unread,
Sep 5, 2010, 11:12:04 PM9/5/10
to sh...@googlegroups.com
服务是24小时不间断的么? 如果不是的话,先每天晚上自动重启一下看看效果。

这样周期性的情况感觉是发生了内存泄漏。

Bruce Du

unread,
Sep 5, 2010, 11:29:03 PM9/5/10
to sh...@googlegroups.com
检查 驱动,硬件设备 。Unable to handle kernel paging request at virtual
address
也可以停掉应用,一个个的试。

zymaxs

unread,
Sep 5, 2010, 11:32:54 PM9/5/10
to Shanghai Linux User Group
服务是24小时不停的跑的
死机应该不是内存问题
最快的时候出现过开启服务几分钟就死机的情况
内存没用那么快的= =

Chaos Eternal

unread,
Sep 5, 2010, 11:32:58 PM9/5/10
to sh...@googlegroups.com
是不是才买的HP 380?

2010/9/6 Bruce Du <ddl...@163.com>:

zymaxs

unread,
Sep 5, 2010, 11:41:42 PM9/5/10
to Shanghai Linux User Group
这台服务器是以前留下来的之前不归我管

zymaxs

unread,
Sep 5, 2010, 11:52:08 PM9/5/10
to Shanghai Linux User Group
关键是我不知道现在应该怎么做了
Unable to handle kernel paging request at virtual address xxxxxxxx
这种错误应该怎么解决
就算我知道了是哪个程序引起的但怎么解决
程序里面自带的日志什么错都没有报

小马xiaoma

unread,
Sep 5, 2010, 11:53:24 PM9/5/10
to sh...@googlegroups.com
用的是啥版本的linux发行版?

小马xiaoma

unread,
Sep 6, 2010, 12:04:59 AM9/6/10
to sh...@googlegroups.com
看了一下日志,服务器居然用的是r8169网卡。系统自带的网卡驱动有问题,要么换成官网的驱动,要么干脆换成intel的网卡试试。

在 2010年9月6日 上午11:52,zymaxs <zym...@gmail.com> 写道:

zymaxs

unread,
Sep 6, 2010, 12:37:15 AM9/6/10
to Shanghai Linux User Group
恩,其中有一台是,另外一台不是
所以我觉得这个错误应该和这个网卡驱动没有太多关系
话说 我觉得这2台上面的错误应该是一个原因引起的

Sherlock

unread,
Sep 6, 2010, 9:06:26 AM9/6/10
to sh...@googlegroups.com
你最好把开机时候的messages也贴一下

Unable to handle kernel paging request at virtual address
我以前也碰到过,3com的驱动在5.x上的驱动有问题,换了网卡就没有这个问题了

2010/9/6 小马xiaoma <cnxi...@gmail.com>



--
==========
      InitX
==========

zymaxs

unread,
Sep 6, 2010, 9:47:45 PM9/6/10
to Shanghai Linux User Group
那是不是重装网卡驱动就可以?
应该装哪个驱动才不会有问题

zymaxs

unread,
Sep 6, 2010, 9:56:13 PM9/6/10
to Shanghai Linux User Group
现在2台服务器的网卡好像是不一样的
用lspci查看分别是

Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit
Ethernet (rev 11)
Ethernet controller: Realtek Semiconductor Co., Ltd.: Unknown device
8167 (rev 10)
似乎下面个有问题

不过我现在最关心的问题是出错的进程java那个pid在前一分钟输出的ps aux脚本中还不存在
这个pid是哪里来的

On 9月6日, 下午9时06分, Sherlock <initxje...@gmail.com> wrote:
> 你最好把开机时候的messages也贴一下
> Unable to handle kernel paging request at virtual address
> 我以前也碰到过,3com的驱动在5.x上的驱动有问题,换了网卡就没有这个问题了
>

> 2010/9/6 小马xiaoma <cnxia...@gmail.com>

丁一恒

unread,
Sep 6, 2010, 11:40:06 PM9/6/10
to sh...@googlegroups.com
那前几分钟有没有?如果有的话,那就是被应用服务器shutdown了吧

zymaxs

unread,
Sep 7, 2010, 2:01:46 AM9/7/10
to Shanghai Linux User Group
没有,我是用crontab每2分钟记录一下ps到日志的
全文搜索就没有内核报错的那个pid
要么就是在出错的一瞬间那个进程才起来的?
有没有什么方法能看到死机一瞬间的进程列表

> > > ==========- 隐藏被引用文字 -
>
> - 显示引用的文字 -

丁一恒

unread,
Sep 7, 2010, 2:05:29 AM9/7/10
to sh...@googlegroups.com
要么拓宽私立想想其他的办法,要么缩短取样时间,只要硬盘空间够,一秒钟区一次怎么样?试试看,能不能找到

丁一恒

unread,
Sep 7, 2010, 2:25:32 AM9/7/10
to sh...@googlegroups.com
呵呵,试过才知道啊,靠想是想不出来的

在 2010年9月7日 下午2:24,zymaxs <zym...@gmail.com>写道:
试试吧,虽然我估计1秒取一次也只能看rp

zymaxs

unread,
Sep 7, 2010, 2:24:03 AM9/7/10
to Shanghai Linux User Group
试试吧,虽然我估计1秒取一次也只能看rp

Liu Yu Fei, Eric

unread,
Sep 7, 2010, 2:36:26 AM9/7/10
to sh...@googlegroups.com
我觉得是这个java进程把机器crash掉的。。
找一下什么地方会启动它。。比方说cron tab。。

Best regards,
Liu Yu Fei, Eric
Computer Science, CUHK


2010/9/7 丁一恒 <dingy...@gmail.com>

丁一恒

unread,
Sep 7, 2010, 2:38:39 AM9/7/10
to sh...@googlegroups.com
这个java进程有可能是被其它进程fork出来的,比如weblogic什么的

Liu Yu Fei, Eric

unread,
Sep 7, 2010, 3:03:02 AM9/7/10
to sh...@googlegroups.com
刚才没仔细看。。
话说上面那一堆java进程,那个我觉得挂掉机器的java进程跟它们是一起的,从pid来看,是紧跟着那个tomcat的进程,个人觉得是新fork出的 java虚拟机把内存撑爆了。或者直接是个bug,考虑更新一下java吧。

丁一恒

unread,
Sep 7, 2010, 3:11:26 AM9/7/10
to sh...@googlegroups.com
考虑把java虚拟机的内存调大一点?

zymaxs

unread,
Sep 7, 2010, 3:18:52 AM9/7/10
to Shanghai Linux User Group
java进程不是跑在虚拟机里面的么?会自己新开么
附带上昨天晚上死机前2分钟的系统状态
ue Sep 7 00:30:01 CST 2010

procs -----------memory---------- ---swap-- -----io---- --system-- ----
cpu----
r b swpd free buff cache si so bi bo in cs us
sy id wa
0 0 0 1774300 61532 83808 0 0 1 7 507 32
0 0 100 0
感觉至少不是内存不够用把

java版本我原来1.5,现在的1.6似乎都有点问题

丁一恒

unread,
Sep 7, 2010, 3:26:26 AM9/7/10
to sh...@googlegroups.com


在 2010年9月7日 下午3:18,zymaxs <zym...@gmail.com>写道:
java进程不是跑在虚拟机里面的么?

不是这样的吧,其实jvm是以java进程的方式存在于系统里的应该是这样的吧

因为以前在oracle as上配置一个测试软件的时候走过歪路,一直以为是找java,其实是要找到启动Java的那个程序opml

Liu Yu Fei, Eric

unread,
Sep 7, 2010, 4:00:51 AM9/7/10
to sh...@googlegroups.com
java 虚拟机是每个java应用程序一个单独的java进程。

如果是我平时遇到这样的情况肯定会觉得这是一个bug。然后clone一遍这个机器,把所有东西升到最新,然后跑着看效果。


Best regards,
Liu Yu Fei, Eric
Computer Science, CUHK


2010/9/7 zymaxs <zym...@gmail.com>

zymaxs

unread,
Sep 7, 2010, 4:04:58 AM9/7/10
to Shanghai Linux User Group
Java多线程在Linux环境下会采用多进程处理
刚刚查资料的时候猛的看到这一句也不知道是不是真的

On 9月7日, 下午4时00分, "Liu Yu Fei, Eric" <hoveringnowi...@gmail.com>
wrote:

> > java版本我原来1.5,现在的1.6似乎都有点问题- 隐藏被引用文字 -
>
> - 显示引用的文字 -

Liu Yu Fei, Eric

unread,
Sep 7, 2010, 4:20:02 AM9/7/10
to sh...@googlegroups.com
看起来不像,因为pid差距比较小
Reply all
Reply to author
Forward
0 new messages