成为 Linux 管理员并非易事。 保持系统正常运行需要大量时间、耐心和辛勤工作。 但是 Linux 系统管理员可以喘口气,因为他们可以通过命令行监控工具的形式获得一些帮助。 这些工具帮助他们密切关注 Linux 服务器的性能,并在发现异常时修复任何问题。 在本文中,我们将研究用于监控 Linux 性能的前 12 个命令行工具。
1) 顶部
毫无疑问,top 命令是监控 Linux 的第一大命令行工具。 它是全世界 Linux 系统管理员使用最广泛的命令之一。 它可以快速提供有关有序列表中所有正在运行的进程的详细信息。 该列表还实时更新。 不仅是进程名称,它还显示内存使用情况和 CPU 使用情况等。
监控 Linux 服务器性能的 25 个顶级命令示例
2) 虚拟机
vmstst 是命令行实用程序,在我们的列表中占据第二位。 它的主要任务是用于显示虚拟内存统计信息。 它还可以帮助您显示各种信息,包括所有系统进程、CPU 活动、分页、块 IO、内核线程和磁盘等。 vmstat 是几乎所有 Linux 发行版中默认安装的一部分,因此安装后可以直接使用.
3) lsof
如果要查看系统中当前打开的所有文件,则需要使用 lsof 命令。 它还用于监视当前使用的所有进程。 此命令的主要优点之一是它可以帮助管理员在无法卸载磁盘时查看当前正在使用的文件。 使用此命令,可以轻松识别这些文件。 lsof 命令在默认 Linux 操作系统安装后不可用,因此首先我们必须使用以下命令安装它:
对于 CentOS / RHEL
$ sudo yum install -y lsof // CentOS 7 / RHEL 7 or before $ sudo dnf install -y lsof // CentOS 8 / RHEL 8
对于 Ubuntu / Debian
$ apt-get install -y lsof Or $ apt-get install -y lsof
要使用 lsof 命令,请输入 lsof 并按回车
还阅读 : Linux Geeks 的 18 个快速“lsof”命令示例
4) tcpdump
Tcpdump 是另一个命令行实用程序,它允许 Linux 系统管理员和网络工程师监视通过网络传输的所有 TCP/IP 数据包。 使用 tcpdump 还可以将所有数据包保存在一个单独的文件中以供将来分析。
Tcpdump 不是默认操作系统安装的一部分,因此在开始使用它之前,请先通过以下命令进行安装:
$ sudo yum install tcpdump -y // CentOS 7 / RHEL 7 or before $ sudo dnf install tcpdump -y //CentOS 8 / RHEL 8 $ sudo apt install tcpdump -y // Ubuntu / Debian
要开始捕获特定接口上的数据包,请运行以下命令,
# tcpdump -i enp0s3
还阅读: 如何在 Linux 上使用 tcpdump 命令捕获和分析数据包
5) 网络统计
Netstat 是用于网络故障排除的最古老的命令行实用程序之一。 使用 netstat,我们可以轻松找到网络连接、路由表、以太网卡统计信息和伪装连接。 换句话说,我们可以说,它还可以帮助您快速解决任何与网络相关的问题。 在最新的 Linux 发行版中,netstat 不是默认安装的一部分。 使用下面的命令在不同的 Linux 发行版上安装它。
CentOS 8 / RHEL 8
$ sudo dnf install net-tools -y
对于 Ubuntu / Debian
$ sudo apt install -y net-tools
运行以下命令以列出 Linux 系统上的所有 tcp 连接,
# netstat -tunlp
6) 顶
htop 命令 是另一个功能丰富的命令行实用程序,它提供对 Linux 系统中各种重要资源的实时监控。 与 top 命令相比,htop 是一个经过大量改进的版本,甚至提供了颜色编码的输出以便于理解。 它还支持水平和垂直查看,还允许管理员管理流程。
要在 Linux 系统上安装 htop,请执行以下命令,
$ sudo yum install -y htop // CentOS 7 / RHEL 7 or before $ sudo dnf install -y htop // CentOS 8 / RHEL 8 or before $ sudo apt install -y htop // Ubuntu / Debian
htop 命令的示例输出:
$ htop
7) iotop
iotop 是另一个免费的命令行实用程序,它允许管理员监控磁盘 I/O 使用情况的详细信息。 尽管它类似于 top 和 htop 命令,但 iotop 的主要优点之一是它提供了系统中特定线程或进程的详细信息。 因此,系统管理员可以轻松识别导致对服务器进行大量 I/O 重写的进程。
要在不同的 Linux 发行版上安装 iotop,请运行
$ sudo dnf install -y iotop // CentOS 8 / RHEL 8 $ sudo yum install -y iotop // CentOS 7 / RHEL 7 $ sudo apt install -y iotop // Ubuntu / Debian
要开始使用 iotop 实用程序,请在命令行中输入 iotop 并按回车键,
$ iotop
8) iostat
顾名思义, iostat 是一个 Linux 命令行工具,可提供有关设备和分区的系统输入/输出的详细统计信息。 Linux 系统管理员还可以使用此命令行工具来监控本地和远程磁盘 (NFS) 的性能。
iostat 的示例输出如下所示:
$ iostat
9) 访问
Goaccess 是一个开源的实时日志查看器和分析器命令行工具。 它几乎适用于所有 Linux 发行版。 它可用于查看所有 Web 服务器(Nginx、 Apache、Amazon S3 和 CloudFront 等)。
在 CentOS 8 / RHEL 8 上安装 Goaccess
$ wget https://pkgs.dyn.su/el8/base/x86_64/goaccess-1.3-3.el8.x86_64.rpm $ sudo dnf localinstall goaccess-1.3-3.el8.x86_64.rpm -y
对于 Ubuntu / Debian
$ sudo apt get install goaccess
实时分析 Apache Web 服务器的日志,运行以下 goaccess 命令
$ sudo goaccess /var/log/httpd/access_log --log-format=COMBINED
10) 一瞥
Glances 是一个免费的跨平台命令行工具,用于监控 linux 系统。 Glances 几乎适用于所有 Linux 发行版,除了监控之外还可以收集系统统计信息。 它是用 python 编写的,并利用 psutil 库从系统中检索有用的信息。 Glances 可以以三种不同的方式使用:
- 独立命令行实用程序
- 客户端和服务器
- 网络服务器
要在 CentOS / RHEL 系统上安装 Glances,请运行
$ sudo dnf install -y glances // CentOS 8 / RHEL 8 $ sudo yum install -y glances // CentOS 7 / RHEL 7
要在 Ubuntu / Debian 系统上安装 Glances,请运行
$ sudo apt get install -y glances
要开始使用glances,输入glances 命令,
$ glances
11) iptraf
我们列表中的下一个是 iptraf,这是一个命令行实用程序,可提供对以太网卡和网络的实时监控。 使用 iptraf,系统和网络管理员可以收集很多详细信息,包括:
- TCP流量汇总
- ICMP
- IP流量
- UDP流量
- 界面活动
- 统计细目
- 详细的接口统计
与iftop等其他命令相比,我们可以说iptraf提供了更详细的细分和统计信息。 Iptraf 不是默认操作系统安装的一部分,因此要安装它,请运行以下命令,
对于 CentOS / RHEL
$ sudo dnf install -y iptraf-ng Or $ sudo yum install -y iptraf-ng
对于 Ubuntu / Debian
$ sudo apt install -y iptraf-ng
要启动 iptraf 实用程序,请键入 iptraf-ng 命令并选择以太网卡,
$ iptraf-ng
12) 顶
在我们的列表中占据第 12 位的命令行工具是 iftop 工具。 它是一个简单的命令行工具,可以显示 Linux 系统以太网卡上的带宽使用情况。 系统和网络管理员使用此工具进行带宽监控。 使用 iftop,您可以在它侦听的第一个网络接口中查看源和目标。
要在 CentOS / RHEL 系统上安装 iftop,请运行以下命令
$ sudo dnf install -y iftop $ sudo yum install -y iftop
对于 Ubuntu / Debian 系统,运行
$ sudo apt install -y iftop
输入 iftop 来启动这个工具,例子如下:
$ iftop
另请阅读 : Linux 中 20 个很棒的 Nmap 命令示例