Linux基本健康检查命令
系统管理员可以使用多种工具来检查和监控 Linux 系统的运行状况。这不仅包括物理硬件,还包括软件以及专用于运行已安装服务的资源数量。在本教程中,您将学习几个从命令行检查 Linux 系统整体运行状况的命令。
在本教程中您将学习:
如何检查系统进程、CPU 使用率和 RAM 使用率
如何检查硬盘诊断和输入/输出操作
如何监控网络活动和硬件温度
Linux基本健康检查命令
查看下面的命令,查看我们编译的 Linux 上最佳运行状况检查工具的列表。这些工具中的大多数默认安装在所有主要 Linux 发行版上,但我们包含了需要通过系统包管理器安装的少数工具的安装说明。
top 和 htop – 进程监控
top
命令是默认安装的,它是查看系统上 CPU 和 RAM 使用情况的好方法。它还允许您检查哪些进程消耗最多的系统资源。这将使您了解是否有必要升级系统组件,或控制可能占用过多系统 CPU 或内存的服务。
$ top
更好的替代方案是 htop
命令,它与 top
类似,但更易于人类阅读。它为您提供了一个更容易理解和交互的摘要,但默认情况下通常不安装该程序。如果可能的话,强烈建议安装此程序并使用它来快速了解哪些进程正在消耗系统的大部分硬件资源。
安装htop:
$ sudo apt install htop # Ubuntu, Debian, Linux Mint
$ sudo dnf install htop # Fedora, Red Hat, CentOS, AlmaLinux
$ sudo pacman -S htop # Arch Linux, Manjaro
使用htop:
$ htop
free – 内存使用统计
free
命令是默认安装的,它允许您检查 RAM 使用情况并实时监控它。
# free -h
total used free shared buff/cache available
Mem: 1.9G 784M 145M 20M 1.0G 1.0G
Swap: 947M 0B 947M
-s
(秒)开关允许 free 连续运行,每隔指定的秒数发出新的输出。例如,每 3 秒运行一次 free
命令:
# free -s 3
要查看更多免费
使用示例和说明,请查看我们的教程:如何监控 Linux 上的 RAM 使用情况。
智能数据 – 检查硬盘健康状况
所有硬盘都会收集有关其性能统计数据、坏扇区、开机时间和其他信息的数据。这些统计信息称为 SMART(自我监控分析和报告技术)数据,如果您的系统安装了 smartmontools
软件包,则可以查看这些数据。
要安装 smartmontools:
$ sudo apt install smartmontools # Ubuntu, Debian, Linux Mint
$ sudo dnf install smartmontools # Fedora, Red Hat, CentOS, AlmaLinux
$ sudo pacman -S smartmontools # Arch Linux, Manjaro
要使用 smartmontools 检查硬盘驱动器 (/dev/sda) 的当前状态:
$ sudo smartctl -a /dev/sda
要查看更多 smartctl
使用示例并了解如何在硬盘驱动器上运行诊断测试,请查看有关如何使用 smartctl 从命令行检查硬盘驱动器运行状况的教程。
硬盘输入/输出统计
例如,如果您使用的计算机执行大量读/写操作(例如繁忙的数据库服务器),则需要检查磁盘活动。这可以借助 iostat 命令来完成,该命令将为我们提供有关系统中所有硬盘的输入和输出操作的统计信息。
iostat
在 sysstat
包中可用。要安装 sysstat:
$ sudo apt install sysstat # Ubuntu, Debian, Linux Mint
$ sudo dnf install sysstat # Fedora, Red Hat, CentOS, AlmaLinux
$ sudo pacman -S sysstat # Arch Linux, Manjaro
要使用 iostat:
$ iostat
或者连续运行10秒:
$ iostat -d 1 10
硬件温度监控
要执行的另一个基本健康检查是监视系统的温度。散热器安装不正确、通风口堵塞或积满灰尘的机箱风扇可能会导致高温,从而损害系统组件(包括 CPU、显卡等)的使用寿命。这可以通过传感器来实现-检测命令。
sensors-detect
可在 lm_sensors
包中使用。要安装 lm_sensors:
$ sudo apt install lm-sensors # Ubuntu, Debian, Linux Mint
$ sudo dnf install lm_sensors # Fedora, Red Hat, CentOS, AlmaLinux
$ sudo pacman -S lm_sensors # Arch Linux, Manjaro
要使用传感器检测:
$ sudo sensors-detect
k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp: +32.0°C
Core0 Temp: +33.0°C
Core1 Temp: +29.0°C
Core1 Temp: +25.0°C
nouveau-pci-0200
Adapter: PCI adapter
temp1: +58.0°C (high = +100.0°C, crit = +120.0°C)
网络活动监控
ss
命令是 Linux 系统上 netstat
命令的后继者。系统管理员使用该命令查看有关网络连接的信息。这意味着我们可以通过了解哪些进程和服务正在本地网络以及互联网上进行通信来检查网络的运行状况。
ss
命令还允许您检查连接的状态、来源和目的地等信息。此外,ss 还显示路由表、接口统计信息、伪装连接和多播成员资格。
它应该已经默认安装在所有主要的 Linux 发行版上。它带有许多额外的选项,或者您可以单独运行命令(建议以 root 身份运行):
$ sudo ss
要了解有关 ss 命令的更多信息,包括使用示例和选项,请查看我们的在 Linux 上使用 ss 命令的教程。
结束语
在本教程中,我们了解了如何使用命令在 Linux 系统上执行基本的运行状况检查。其中包括检查系统进程、硬盘诊断数据、输入和输出统计数据、硬件温度、网络连接、CPU 使用情况和 RAM 使用情况的命令。正如您所看到的,Linux 并不缺少让我们监控系统问题的工具。所有系统管理员都必须定期运行这些命令和类似命令,以维护系统的健康运行。