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

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

按照这五个简单而实用的步骤对 Linux 服务器进行故障排除并将停机时间减少到绝对最少。

1. 检查硬件

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

或者,键入以下命令:

 $ sudo ethtool eth0

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

要检查服务器的 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数据结合时,您可以成功找到损坏的记忆棒。

相关: Ubuntu 服务器入门

2. 解读确切的问题

您的服务器出现故障,没有两种方法可以解决。在开始使用您的工具之前,必须确定确切的问题是什么。例如,如果您的用户遇到服务器应用程序的问题,您需要确保问题不在客户端。

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

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

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

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

 $ sudo service apache2 start

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

3.使用top函数

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

但是第一次使用它时,它可能会让人感到困惑。这是顶部的快速细分。

第 1 行:

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

第 2 行:

  • 任务总数
  • 运行任务数
  • 休眠任务数
  • 停止的任务数
  • 僵尸任务数量

第 3 行:

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

第 4 行:

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

对于每个正在运行的应用程序,后面跟着一行。这包括:

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

要找出消耗最高内存的进程,首先通过键入M对进程进行排序。

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

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

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

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

COMMAND=apache

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

4. 跟踪磁盘空间

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

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

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

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

5. 检查日志是否有问题

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

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

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

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

 $ dmesg | tail

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

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

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

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

对 Linux 服务器进行故障排除最初似乎是一项艰巨的任务,但有一些必要的实例可以让球滚动。如果这五个步骤没有帮助您识别和跟踪问题,那么让其他人参与其中可能是值得的。

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