使用这 5 个故障排除步骤修复 Linux 服务器问题

如果您的 Linux 服务器没有发挥其全部潜力,则可能存在需要解决的潜在问题。

按照这五个简单而实用的步骤来排除 Linux 服务器故障并将停机时间降至最低。

1.检查硬件

让我们深入了解基础知识:检查硬件。 这意味着您要前往物理机架并检查是否有任何电缆松动或断电。

或者,键入以下命令:

$ sudo ethtool eth0

如果它返回“是”,您就知道您的端口正在与网络通信。

要检查服务器的 BIOS/UEFI 硬件报告,请使用以下命令:

$ sudo dmidecode --type memory

如果响应看起来不错,这也不是问题。 如果您怀疑存在内存问题,请运行以下命令:

$ sudo modprobe edac_core

如果运行上述命令后没有结果,请键入以下内容:

$ sudo grep "[0-9]" /sys/devices/system/etc/mc/mc*/csrow*/ch*_ce_count

这将为您提供内存控制器行的列表以及错误计数。 当输出与 dmidecode 内存通道、部件号和插槽上的数据,您可以成功找到损坏的记忆棒。

2. 解读确切的问题

您的服务器已关闭,没有两种方法可以解决。 在开始使用您的工具之前,必须定义确切的问题是什么。 为了 example,如果您的用户在使用服务器应用程序时遇到问题,您需要确保问题不在客户端。

其次,作为问题搜寻的一部分,您应该尝试缩小问题的根源。 这将意味着服务器本身或服务器应用程序。 例如,服务器程序可能会出现故障,而服务器的功能就像一台运转良好的机器。

要检查应用程序是否运行顺畅,请键入以下内容:

$ sudo ps -ef | grep apache2
$ sudo netstat -plunt | grep apache2

如果服务器没有响应,您可以打开 Apache 服务器使用:

$ sudo service apache2 start

简而言之,在开枪之前弄清楚确切的问题。 这将有助于缩小问题列表并帮助您找到相应的解决方案。

3.使用顶部功能

Top 是 Linux 最典型的调试功能之一,因为它使用系统资源加载平均、交换和进程列表。

但是当你第一次使用它时,它可能看起来很混乱。 这是顶部的快速细分。

第 1 行:

  • 时间
  • 电脑运行了多长时间?
  • 用户数
  • 平均负载(最后一分钟、最后 5 分钟、最后 15 分钟的系统负载时间)

第 2 行:

  • 任务总数
  • 正在运行的任务数
  • 睡眠任务数
  • 停止的任务数
  • 僵尸任务数

第 3 行:

  • 用户的 CPU 使用率百分比
  • CPU 使用率(按系统)
  • 低优先级进程的 CPU 使用率百分比
  • 空闲进程的 CPU 使用率百分比
  • 按 I/O 等待的 CPU 使用率百分比
  • 硬件中断的 CPU 使用率百分比
  • 软件中断的 CPU 使用率百分比
  • CPU 使用率(按窃取时间)
  • 系统总内存
  • 空闲内存
  • 使用的内存
  • 缓冲区缓存

第 4 行:

  • 可用总掉期
  • 总交换免费
  • 使用的总交换
  • 有效内存

接下来是每个正在运行的应用程序的一行。 这包括:

  • 进程 ID
  • 用户
  • 优先事项
  • 不错的水平
  • 进程使用的虚拟内存
  • 进程使用的常驻内存
  • 共享内存
  • 进程使用的 CPU 百分比
  • 进程使用的内存百分比
  • 时间进程一直在运行
  • 命令

要找出哪个进程消耗的内存最多,首先通过键入对进程进行排序 .

要检查使用最多 CPU 功率的进程,请按 .

要过滤特定选项,请按 ,它将显示以下命令:

add filter #1 (ignoring case) as: [!]FLD?VAL

此外,您可以过滤特定进程,例如

COMMAND=apache

这将过滤并仅显示 Apache 过程。

4.跟踪磁盘空间

尽管可用的存储空间无穷无尽,但服务器可能会耗尽空间,从而导致许多问题。 在这种情况下,使用 df 命令(磁盘文件系统)提取可用/已用磁盘空间的完整摘要。

您可以通过以下三种方式使用它:

$ sudo df -h
$ sudo df -i
$ sudo df -hT

另一个有用的命令是 %util,这突出了设备的紧张程度。 任何大于 60% 利用率的值都表示存储性能不佳。 任何事物 close 到 100% 意味着驱动器是 close 到饱和。

5. 检查日志是否有问题

日志为您提供了大量有用的信息 /var/日志,特定于服务的子目录。 对于新手来说,Linux 的服务器日志可能是这个星球上最可怕的地方。

不一定是这种情况,主要是因为日志是根据其功能划分的。 一个捕获系统/程序上发生的事情,而另一个记录系统/应用程序错误消息。 考虑到它们存储的信息量,日志通常是巨大的文件。

日志数据文件是神秘的,学习如何操作总是最好的。

如果您不确定,请使用 dmesg,它显示所有内核的消息。 tail 函数默认显示前 10 条消息。

$ dmesg | tail 

将tail命令与 -F 关键字将继续关注 syslog 文件并打印出 syslog 中的下一个事件。

$ dmesg | tail -f /var/log/syslog

此命令将继续扫描日志并显示可能的问题。

有效地对 Linux 服务器进行故障排除

对您的 Linux 服务器进行故障排除一开始似乎是一项艰巨的任务,但需要一些实例才能让事情顺利进行。 如果这五个步骤没有帮助您识别和跟踪问题,那么让其他人参与可能是值得的。

但是,大多数情况下,上述故障排除步骤之一应该有助于解决手头的问题。