Linux如何查看死机原因

连接Linux主机并输入命令行。
直接输入cat /var/log/messages。
按 Enter 键后,将出现日志。

Linux崩溃,首先检查硬件。
状态灯是否报警?使用您自己的工具尝试一下。
尝试重新安装登录管理器或 GUI。
检查性能负载。
高负载下会出现很多问题。
检查系统日志、可疑进程和配置文件。

linux服务器自动重启原因排查方法

说实话,解决Linux服务器自动重启确实很烦人。
我曾经劫持了一台服务器并每三天重新启动一次,这很烦人。
后来发现内存条接触不良,拔掉重新插一下就解决了。
这件事让我明白,调查不能光靠理论,必须结合实际情况。

先说最直接的方法。
你提到的lastreboot命令非常有用。
我经常用这个。
例如,当我上次检查时,服务器在凌晨 3 点重新启动,最后一次重新启动时间直接是 3 :1 7 这让我省了很多事。
但仅仅看时间是不够的;配合日志分析。
特别是 /var/log/messages 文件,其中包含很多详细信息。
当我使用 grep -i "reboot" 搜索时,我发现了一条“kernel:rebooting”日志,后面跟着几个参数。
检查了半天,发现某个服务有问题。

对于系统来说,journalctl 就是纯金。
我有一个使用CentOS 7 的客户端,当时我用journalctl -b -1 检查了重启的原因。
上次发布的详细说明它以闪存形式出现,并且有一个错误堆栈。
这很直观。
然而,并非所有系统都使用 systemd;请注意,这取决于特定的分布。

您还需要阅读硬件日志。
我曾经遇到过一个奇怪的问题。
服务器重启后,主板自检灯随机闪烁。
最后,检测到硬盘控制器驱动程序有问题。
dmesg | grep -i“rebo​​ot”命令行将为您列出内核启动和运行时日志,通常包含有关硬件的线索。

uptime命令非常有趣。
我的服务器在高负载下已经一年了,但重新启动日志中没有明显的异常。
我用时间发现平均负载一直在2 .5 左右,突然就跳到8 了才重新启动。
这对我帮助很大。
这意味着它不是由持续高负载触发的,而是由短期过载触发的。

仅通过查看屏幕无法诊断硬件问题。
运行memtest8 6 +几次后,内存问题出现了,但电源问题需要仔细检查。
我注意到服务器风扇转速不稳定,当我用手触摸CPU散热器时,它像烙铁一样烫。
经检查,电源适配器电量不足。
如果电源上升,则需要重新启动 CPU 以进行保护。

软件问题更加复杂。
发现 Python 脚本中的内存泄漏导致系统 OOM。
使用上面监控进程内存的缓慢增长;最后CPU会直接重启。
解决这类问题就像是一名侦探。
你必须一一查看日志并监控每个进程。

定时任务也有问题。
刚接触运维的人写了一个 cron 作业,每 5 分钟重启一次系统……简直就是给服务器做一次心脏按摩。
检查 /etc/crontab 和 /var/spool/cron/crontabs/ 文件可以省去很多麻烦。

最难的是配置文件。
有一次 Debian 服务器莫名其妙地重新启动。
我在日志里查了好久也没有发现什么。
最后发现是/etc/default/grub中的一些参数写错了,导致内核参数异常。
解决此类问题取决于经验并了解哪些文件导致了问题。

说实话,这些方法我都用过。
但在处理疑难复杂疾病时,往往必须将它们结合起来。
例如,检查lastreboot以确认时间,然后查看journalctl和messages寻找线索,最后使用dmesg验证硬件。
每一次调查都是一个新的挑战,因此您需要保持灵活性。

Linux如何查看死机原因

哎呀,我们来谈谈查看Linux系统日志吧。
我记得2 01 8 年的一次,我正在帮助一家客户公司处理服务器问题。
那时,服务器只是一个“老古董”,日志文件多如天上的星星。

首先我需要连接到服务器并进入命令行模式。
你猜怎么着?我输入命令“cat /var/log/messages”并按 Enter。
Hey, the system log was printed out loud.这就像打开一扇窗户,看到服务器内部的各种秘密。

Then let's talk about Linux crashing.有一次,2 01 9 年,我帮助朋友的公司解决了服务器崩溃问题。
首先我让他检查硬件,看看状态灯是否触发警报,这一点非常重要。
事实证明硬件没有问题,所以我们必须通过软件来确定原因。

我用服务器自带的监控工具查看了一下,发现使用率相当高。
我建议他重新安装登录管理器或整个 GUI。
然后我让他检查服务器性能和利用率。
有时机器不使用时可能不会出现该问题,但当负载较高时就会出现该问题。

最后我让他检查一下系统日志,看看有没有异常。
原来,日志中记录了很多奇怪的操作,还发现了一个可疑的操作。
最后我们检查了系统相关的配置文件,终于发现了问题所在。

I think this is pretty interesting.虽然每次处理问题的情况不同,但本质上都是一样的过程。
你怎么认为?