1、dmesg
dmesg命令用于显示或控制Linux内核的环形缓冲区内容,主要用于查看系统启动信息、硬件检测、驱动加载等关键信息。以下是该命令的一些基本用法和选项:
基本用法:直接输入dmesg命令即可查看内核消息。例如,使用sudo dmesg > messages.txt可以将系统启动信息保存到messages文本文件中。
实际应用场景:
系统启动和初始化阶段的问题诊断。
硬件相关问题的调试。
内核错误和警告的查看。
动态观察系统事件。
系统性能分析和调优。
dmesg | grep ERROR
如果你需要查看详细的内核错误日志,你可以直接查看 /var/log/kern.log
文件。
2、last reboot
last reboot输出详解
last reboot命令的输出主要显示系统的重启记录,包括重启的时间、系统版本以及持续时间等信息。 具体来说,输出中会显示每次系统重启的时间、持续的时间以及系统版本号等信息。
reboot system boot 2.6.32-431.el6.x Mon May 21 16:32 - 15:06 (1+22:33)
这里的“reboot system boot”表示这是一个系统重启记录,后面的时间表示重启开始和结束的时间,而“6.6.31+rpt-rpi-v”则是系统内核的版本号。持续时间“19:24 - 21:07 (01:43)”表示系统持续运行了多长时间。这种输出格式可以帮助系统管理员追踪系统的运行状态和重启历史,对于故障排查和系统监控非常有用。
3、journalctl
journalctl命令是Systemd日志系统的一部分,用于查看和管理系统日志。 这个命令提供了丰富的选项来查询和过滤日志,使得用户可以方便地查看系统在不同时间段的日志,或者特定事件的日志。例如,使用journalctl -r可以反序输出日志,使用journalctl -n 数字可以指定显示的行数,使用journalctl --since "时间" --until "时间"可以查看指定时间段内的日志。此外,journalctl还可以用来查看系统的启动记录,使用--list-boots选项可以列出所有的启动记录。这个命令对于系统管理员来说非常有用,可以帮助他们快速定位和解决问题。
journalctl -b -1
这个命令将显示最近一次重启的系统日志。可以使用-b选项来指定特定的引导(boot)
红色部分为故障,黄色部分为告警信息。
4、cat /var/log/boot.log
这个命令将显示启动时的日志信息,记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息,可以从中查看重启原因。
昨天玩树莓派的时候XShell 5(SSH)偶尔断了重连,我感觉好像是树莓派哪里出故障了,也可能不是。如果SSH重连,可能是系统重启,也可能是SSH服务器问题,也可能是SSH客户端问题。有的时候SSH重连,但是VNC是好的,那系统也不是重启。我一时半会也没有查到原因,等我查原因时,将上面的命令一顿敲,英文一顿翻译,结果树莓派一直没有重启,也没有连不上,真是当你花时间去复现故障,系统出奇的健壮。当你觉得系统健壮的时候,它却老是故障,和人生病一样。