在终端中监控 Linux 性能的 6 个最佳命令行工具

Linux 是一个开源的、类似 UNIX 的操作系统,它驱动着互联网的大部分。 Linux 内核位于许多新技术和平台之下,例如 Android、SDN 控制器、容器及其作为网络操作系统和服务器的服务。 这些高要求需要托管应用程序、网站和底层 Linux 操作系统的适当管理、可靠性和可用性。

该指南涵盖了最好的命令行 Linux 性能监控工具。 了解这些 CLI 工具怎样帮助解决系统、网络、CPU 和磁盘瓶颈。

1. 顶部

top 命令根据每五秒更新一次的 CPU 时间消耗列出实时活动进程。 它在命令输出的顶部显示一般信息,其中包含与当前运行的进程、系统正常运行时间/负载、RAM 和交换空间相关的数据。 根据一般信息,该命令显示带有 PID、实际内存和 CPU/内存使用百分比的进程列表。

您可以使用的常见做法是列出消耗过多 CPU 和内存资源的进程。 如果某个进程似乎消耗了太多内存或处于最大 CPU 状态,作为系统管理员,您可以根据分配的 PID 终止该进程或将其设置为低优先级。

此外,top 命令还允许您显示和修改正在运行的进程,方法是根据各种其他指标(如通过按下的内存使用情况、进程 PID 和运行时间等)对其输出进行排序。

2.tcpdump

TCPdump 是 Linux 网络管理员最常用的网络故障排除工具。 它是一个开源命令行数据包嗅探器/分析器,可捕获通过指定接口在网络上传输/接收的 TCP/IP 数据包。

该工具是 Linux 发行版的原生工具,具有多种功能,包括各种过滤器和标志。 使用以下命令检查它是否已经可用:

which tcpdump

如果没有,请使用您的发行版的包管理器进行安装。 对于 Ubuntu Linux:

sudo apt-get update
sudo apt-get install tcpdump

您可以列出可用接口以开始网络捕获过程:

sudo tcpdump -D

tcpdump 实用程序允许您通过各种过滤器组合捕获、写入和读取流量,以仅存储所需的详细信息,例如,特定端口上的流量和进出 pcap 文件的协议。 一些有用的命令如下:

sudo tcpdump -c 10 -i ens33
sudo tcpdump -i ens33 dst port 22
sudo tcpdump -i ens33 host 10.0.1.15 -w /tmp/capture_1.pcap
sudo tcpdump -w /tmp/capture_1.pcap

要充分利用 tcpdump,您应该事先了解数据包分析。

3. 网络统计

顾名思义,它是一个强大的网络统计命令行实用程序,可提供详细的网络配置和故障排除相关信息。 它显示传入/传出连接、接口统计信息、侦听/打开端口、路由表等。

您可以通过安装 net-tools 包来使用此实用程序:

sudo apt-get update -y && apt-get install net-tools -y

您可以检查基于协议排序的网络统计信息,以在 -s 标志的帮助下识别和解决问题,如下所示:

netstat -s | less

同样,您可以拉取和查看特定(仅 TCP)协议的统计信息,如下所示:

netstat -st | less

另一个方便的故障排除技巧是按 PID 查看服务:

netstat -tp | less

尽管该工具已被弃用以代替 ss/ip route 命令,但它是一个功能强大且易于使用的工具,任何 Linux 网络管理员的武器库中始终可用。

4. 顶

Htop 是 Linux 中另一个用于监视系统进程和存储的命令行实用程序,它不同于 最佳 命令提供交互式用户界面。 作为顶级命令替代方案,它将输出分为三个主要部分,具有清晰的视觉效果来表示 CPU、内存和交换部分。

它支持快捷键,并允许您垂直和水平滚动界面以查看针对每个进程的命令。 不像 最佳 工具,默认情况下并非在所有 Linux 发行版中都可用,需要通过系统的包管理器进行安装。

最重要的是,它允许您杀死或重新确定系统进程的优先级,而无需离开 htop 接口和进程PID的使用,因为它支持鼠标操作。

5.Acct/Psacct

Acct 或 psacct 是 Linux 等多用户环境的理想程序,因为它允许您监视用户和应用程序的活动状态。 用户活动监控工具在后台运行以跟踪您的应用程序活动和资源消耗。 它显示了用户访问服务器的持续时间、正在使用的命令和正在运行的进程。

要使用该程序,请通过其包管理器在您的 Linux 系统上安装该程序。 acct 实用程序要求您通过启用带有 阿克顿 命令,并将详细信息存储在 /var/account/pacct 文件中。

作为命令行工具,您可以将其与其他工具一起使用,例如 ps 要么 识别各种其他与系统资源相关的问题。

6. IOTOP

Iotop 是一个基于 Python 的实用程序,它依赖于内核记帐功能来监控系统线程和进程的输入/输出利用率。 这是一个有用的工具,可以帮助您识别磁盘使用率高或输入/输出读取或写入的进程。 安装此工具并使用 root 权限来监控实时 I/O 使用情况。

sudo iotop

Iotop 可以非常方便地识别具有高交换内存消耗和大量磁盘活动的进程。

更多探索有效的系统监控

文章列出了一些用于高效 Linux 系统性能监控的必备工具。 我们涵盖了第三方程序的预构建工具:每个都有其独特的用例和功能,以密切关注您的系统资源和使用情况。

本文还展示了怎样安装和使用每个实用程序来更好地监控系统。 作为初学者,学习这些工具可能是一条陡峭的曲线,但从长远来看,监控 Linux 系统或服务器的健康状况和高效性能是值得的。

作为初学者,学习这些工具可能是一条陡峭的曲线,但从长远来看,监控 Linux 系统或服务器的健康状况和高效性能是值得的。