Linux 服务器崩溃后要检查什么?

Linux 服务器崩溃后要检查什么?

我的 Linux 服务器(Debian 5)停滞了,必须重新启动。

请告知需要检查哪些内容才能查明发生了什么。常见的嫌疑包括/var/log/messagessyslogkern.log。您能否提示一下,在发生故障之前平均负载飙升至 100 以上?不知道该进一步检查哪里。

答案1

您需要提供更多有关服务器配置的信息,并发布这些日志。您如何知道平均负载变高了?

“故障前平均负载飙升至 100 以上”的症状可能有很多原因,但常见的原因如下。

首先,什么是平均负载?

我建议你看一下这篇文章以获取有关该主题的更多信息:https://superuser.com/questions/23498/what-does-load-average-mean-in-unix-linux

平均负载指示当前有多少进程处于“等待”状态。非常高的负载平均表示资源耗尽,而这种资源耗尽的常见原因是等待 I/O 操作完成的时间很长(或无限长)。

什么原因造成这种情况?

  • I/O 等待可能是由于 NFS 安装失败或硬盘驱动器故障。您可能已成为攻击的受害者。
  • 攻击方式如下 慢蜂往往会耗尽文件句柄池,并可能挂起服务器上的 I/O 操作。
  • 还要注意 fork 炸弹。如果您遭遇了 fork 炸弹,并且内存耗尽,您可能会看到有关“OOM Killer”的痕迹,这是一个内核工作程序,当其他所有程序都失败时,它会牺牲进程来为系统释放内存。在某些设置中,该 OOM Killer 可以使系统重新启动。

去哪儿看?

这实际上取决于您的系统配置和环境。你在问题中没有提供足够的细节来回答这个问题。不过这里有一些想法:

  • 首先,检查所有硬盘。对它们运行完整的 SMART 测试。
  • 如果您有硬件 RAID,请检查 RAID 控制器的日志。
  • 如果您正在托管网络服务,请检查带宽使用历史记录和请求计数。
  • 如果你有远程网络挂载(sshfs、NFS),请检查其可靠性
  • 如果您在服务器上托管用户 shell,请检查其 .bash_history (这可以伪造。
  • 如果该服务器是虚拟机,则问题可能与您的服务器无关,而与您的虚拟服务提供商有关。

相关内容