1、dmesg:主要用来显示内核信息。使用dmesg可以有效诊断机器硬件故障或者添加硬件出现的问题,另外使用dmesg可以确定你的服务器安装了那些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg命令可以查看该记录,开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
将系统的启动信息保存到文件中:
dmesg > messages.txt
单页输出:
dmesg |more
dmesg|less
以可读性较好的形式输出信息:
dmesg -H
打印输出内存:
dmesg |tail -f
dmesg |head -20
dmesg |tail -20
实时监控dmesg日志的输出信息
watch "dmesg |tailf -20"
将开机信息发邮件:
dmesg >boot.messages
mail -s "Boot Log of Linux Server" public@web3q.net<boot.messages
2、strace是Linux环境下的一款程序调试工具,用来检察一个应用程序所使用的系统调用。Strace是一个简单的跟踪系统调用执行的工具。在其最简单的形式中,它可以从开始到结束跟踪二进制的执行,并在进程的生命周期中输出一行具有系统调用名称,每个系统调用的参数和返回值的文本行。
安装:yum install strace
strace命令常用格式:man strace
-tt:在每行输出的前面,显示毫秒级别的时间
-T:显示每次系统调用所花费的时间
-v:对于某些系统调用,把完整的环境变量,文件stat结构等打印出来
-f:跟踪目标进程,以及目标进程创建的所以子进程
-e:控制要跟踪的事件和跟踪行为,比如指定要跟踪的系统调用名称
-o:把strace的输出单独写到指定的文件
-s:当系统调用的某个参数是字符串时,要同时跟踪多个pid,重复多次-p选项即可。
跟踪ls命令:strace ls
寻找被程序读取的php配置文件
strace php 2>&1|grep php.ini
跟踪指定的系统调用:strace -e open cat dead.letter
跟踪进程:strace -p 2208
统计跟踪结果的该要:strace -c ls
保存输出结果:strace -o process_strace -p 2208
ls
tailf -f 10 process_strace
跟踪nginx,看其启动时都访问了那些文件:strace -tt -T -f -e trace=file -o /data/log/strace.log -s 1024 service nginx restart
cat /data/log/strace.log