linux 死机日志分析_unix linux

系统出现死机,一般分为两种情况:一是硬件问题;二是软件问题。 

一、硬件问题 

可以考虑分析以下几点: 

1、不要超频CPU,如果已经超频的先回复到原来的频率 

虽然平时运行没有问题,但可能在高负载的使用中就会出现不可预料的故障了。特别是linux系统在某些应用上,是可以把硬件的性能发挥到极限的,但这样的硬件运行Windows可能是没有问题的。 

2、确认电源供电充足 

必须确保在高负载的状态下,电源可以满足负载。 

3、使用memtest86检查内存状态 

4、恢复BIOS到默认状态 

对于服务器,可以使用自带的监测工具进行测试,也是一个不错的排错方法。 

二、软件问题 

如果已经基本排除硬件问题,那我们就必须考虑从软件上去获得死机状态的系统信息了。 

1、运气足够好的话,系统死机不一定是完全死掉(此时键盘可能还能响应),那我们就可以使用Sysrq大法。 

前提是我们必须先打开sysrq功能: 

#echo "1" > /proc/sys/kernel/sysrq 

#setterm -blank 

这样,当系统出现问题的时候,我们可以使用: 

引用 

Alt+Sysrq-T 获得进程系统堆栈信息 

Alt+Sysrq-M 获得内存分配信息 

Alt+Sysrq-W 获得当前寄存器信息 

更多的热键可以参考系统上的/usr/src/linux/Documentaion/sysrq.txt 

其中,setterm -blank可以关闭字符下定时黑屏保护,方便记录屏幕信息。 

2、为了让屏幕显示更多的内核调试信息,可以修改控制台的显示模式为80x25,在/boot/grub/menu.lst中对应的kernel一行最后,增加vga=0x305,如: 

引用 

kernel /boot/vmlinuz-2.4.21-9.30AXsmp ro root=/LABEL=/1 vga=0x305 

3、万一键盘也不幸死掉了,那我们只能采用串口方式,把系统信息发送到另一台系统上,方法: 

修改/boot/grub/menu.lst文件,在kernel一行最后增加核心参数"console=ttyS0 console=tty1",如: 

引用 

kernel /boot/grub/vmlinuz-2.4.21-9.30AXsmp ro root=/LABEL=/1 console=ttyS0 console=tty1 

然后,修改/etc/sysconfig/syslog,加入klogd选项"-c 7",如: 

引用 

KLOGD_OPTIONS="-x -c 7" 

重启服务器;进行测试: 

1)使用串口直连线连接客户机和服务器,在客户机上运行: 

cat /dev/ttyS0 

服务器上运行: 

echo hi > /dev/ttyS0 

如果客户机有"hi"输出即可。 

2)服务器上运行: 

echo w > /proc/sysrq-trigger 

看看客户机上是否有相应的内核信息输出 

3)服务器上运行: 

modprobe loop 

看看客户机上是否有相应的内核信息输出 

如果测试都通过的话,那么在客户机上运行: 

cat /dev/ttyS0 | tee /tmp/result 

当死机出现的时候,我们就可以从客户机上看到需要的内核信息了(查看/tmp/result)。 

三、总结 

一般造成Linux系统死机的原因有: 

系统硬件问题(SCSI卡,主板,RAID卡,HBA卡,网卡,硬盘等) 

外围硬件问题(网络等) 

软件问题(系统、应用软件) 

驱动bug(找新的驱动) 

核心系统bug(到LKML看看,或更换核心再试) 

系统设置(恢复到缺省状态,关闭防火墙等) 

时间: 2024-08-24 09:40:31

linux 死机日志分析_unix linux的相关文章

简单高效:用Swatch做Linux日志分析_unix linux

日志文件是我们发现系统问题的重要参考信息. 大部分的系统服务出现问题时都会给syslogd(系统日志守护进程)发送消息. 然后用户发觉并根据错误提示信息采取行动. 然而对于1000行以上的日志文件, 我们必须使用日志检查工具节省时间和避免漏掉重要信息. Swatch从字面上可以简单理解为Watcher(守护者). 其它的日志分析软件定期地扫描日志文件, 向你报告系统已经发生的问题或者状况. Swatch程序不仅能够做这些, 而且它能够像Syslogd守护程序那样主动的扫描日志文件并对特定的日志消

linux目录详解linux目录结构详细分析_unix linux

根文件系统一般应该比较小,因为包括严格的文件和一个小的不经常改变的文件系统不容易损坏.损坏的根文件系统一般意味着除非用特定的方法(例如从软盘)系统无法引导,所以不应该冒这个险.根目录一般不含任何文件,除了可能的标准的系统引导映象,通常叫/vmlinuz .所有其他文件在根文件系统的子目录中. /bin 引导启动所需的命令或普通用户可能用的命令(可能在引导启动后). /sbin 类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用. /etc 特定机器的配置文件. /root root

Linux不完全手册(二)_unix linux

Linux使用篇 安装完linux,并配置好linux的启动,那么如果在安装时你选的是启动到图形界面下的话,现在你就应该可以看到登陆的窗口了.输入你的用户名和密码,(呵呵,安装时设定的,别忘了!)就开始了你的linux之旅. 在linux下,你的确可以体验到永不死机的神话.Linux系统的确强大,在他的下面你的确不用担心莫名其妙的蓝屏.笔者使用linux以有几年,在这几年里从没发生过真正的死机,就算是偶尔的在xwindows下系统没有了响应也可以按"ctrl+alt+backspace"

linux中nginx日志分析shell脚本

以前使用虚拟主机的时候,查看网站运行日志,就发现了很多异常的恶意的访问.当时因为自己并没有系统权限没办法对这些行为进行屏蔽.现在有了自己的云主机,前端时间查看日志,又发现了很多恶意访问.正好可以通过最近对shell的学习,来做一个简单的日志分析工具,来屏蔽一些这样的操作. 首先,所谓的分析工具,肯定是建立在人为的分析的基础上的.我们来看一点我的域名运行日志:  代码如下 复制代码 78.56.78.115 - - [21/May/2014:16:54:27 +0800] "POST /wp-lo

Linux常用的日志分析命令与工具

基础命令 操作 命令 说明 查看文件的内容 cat -n access.log -n显示行号 分页显示文件 more access.log Enter下一行,空格下一页,F下一屏,B上一屏 分页显示文件 less access.log 输入 /字符串 可查找并高亮 显示文件尾 tail -n2 -f access.log -n2显示最后2行,-f继续监听不退出 内容排序 sort -k 2 -t ' ' -n access.log -k指定排序列,-t指定列分隔符,-n按数字顺序 字符统计 wc

linux中nginx日志分析利器GoAccess使用方法

面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa

Linux不完全手册(一)_unix linux

Linux简介 公元1991年8月,在千湖之国--芬兰,一个叫Linus Torvalds的年轻人对外发布了一套类似Unix的操作系统并把它命名为Linux,并把它放在芬兰最大的ftp站点上,至此,一个奇迹出现了!由于Linux从一开始就是一个遵循GPL的自由软件,具有良好的开放性,其简洁的功能.开放的结构,很快就引起了人们尤其是大专院校的学生和科研人员的注意.他们纷纷把它作为学习和研究的对象,开始进行深入的分析改造,取其精华.去其糟柏,并不断的为它增加新功能.再加上Internet的普及,短短

LINUX安全管理的基本技巧_unix linux

LINUX安全管理的基本技巧 中华信息阵地 http://www.cnxxz.net 作者:greeniceLinux作为是一个开放源代码的免费操作系统,以其高效隐定的优秀品质,越来越受到用户们的欢迎,并在全世界不断普及开来.相信在不久的将来Linux还会得到更大更快的发展.虽然,Linux和Unix很相似,但是它们之间还是有不少重要的差别.对于很多习惯了UNIX和Windows的系统管理员来讲,如何保证Linux操作系统的安全可靠将面临许多新的挑战.本文在此将给大家介绍一些Linux管理安全的

Linux系统管理技巧大荟萃_unix linux

作为桌面操作系统,Linux的人机界面可真是不敢恭维,但是,作为网络操作系统,其易用性(对于NOS而言)和高性能恐怕是很难有能出其右的.当然,这并不是说它的操作很简单,而是说若能掌握一些技巧,无论是系统设置还是网络管理都能变得轻松自如.随心所欲. ●禁止终端模式下的显示器自动节能 大部分PC上安装Linux后,在终端模式下也能实现自动关闭显示器的功能,但是假如我们要在显示器上即时显示一些信息,如:网络流量.包分析等,这个功能就变得非常讨厌了.采用修改CMOS和系统属性都无法解决,解决的办法是用s