如果您的 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 服务器进行故障排除一开始似乎是一项艰巨的任务,但需要一些实例才能让事情顺利进行。 如果这五个步骤没有帮助您识别和跟踪问题,那么让其他人参与可能是值得的。
但是,大多数情况下,上述故障排除步骤之一应该有助于解决手头的问题。