八个常用 Linux 性能监测命令,你用过几个?

在Linux系统中,性能监测工具是很多的,我下面将常用的几个命令行工具进行介绍。

1. top/htop

(1) top:

图片

功能:实时监控进程,显示CPU、内存、负载、交换区等信息。

常用快捷键:

快捷键

说明

M

按内存使用排序

P

按CPU使用排序

k

杀死进程,输入进程ID

q

退出

(2) htop

功能:top的增强版本,提供更友好的界面和交互性。

特点:支持用箭头键选择进程,并可以直接杀死、查看进程树。在显示界面会有提示键

最小化安装的系统需要自行安装htop:

复制
yum install -y htop1.
2. vmstat

功能:监控系统的内存、进程、CPU和I/O等。

输出字段:

字段

说明

r

运行队列中等待CPU的进程数(Runnable)

b

处于等待状态的进程数(Blocked)

swpd

已使用的虚拟内存

free

空闲内存

buff

用作缓冲区的内存

cache

用作页面缓存的内存

si

从交换空间读取的内存

so

写入交换空间的内存量

bi

每秒钟从块设备(如磁盘)读取的块数

bo

每秒钟写入块设备的块数

in

每秒中断的次数

cs

每秒上下文切换的次数

us

用户空间占用的CPU时间百分比(User)

sy

内核空间占用的CPU时间百分比(System)

id

空闲的CPU时间百分比(Idle)

wa

等待I/O的CPU时间百分比(Wait)

st

被虚拟机偷取的CPU时间百分比(Stolen)

常用操作:每1秒更新一次,输出5次

复制
vmstat 1 51.
3. iostat

功能:帮助用户分析磁盘的读写性能,监控设备I/O活动,以及了解系统的整体负载情况。

语法格式:

复制
iostat [选项] [更新时间间隔 次数]1.

常用选项:

选项

说明

-c

示 CPU 使用情况

-d

显示磁盘设备的统计信息

-x

显示扩展的磁盘统计信息

-p

显示每个分区的统计信息

-h

使用更友好的单位

主要输出字段:

输出字段

说明

%user

用户进程消耗的CPU百分比

%system

系统进程消耗的CPU百分比

%iowait

等待 I/O 的 CPU 时间百分比

%idle

空闲的 CPU 时间百分比(Idle)

tps

每秒钟的 I/O 操作次数

kB_read/s

每秒读取的 KB 数

kB_wrtn/s

每秒写入的 KB 数

kB_read

从系统启动以来读取的总 KB 数

kB_wrtn

从系统启动以来写入的总 KB 数

使用-x选项的扩展输出::

输出内容

说明

r_await

每次读取操作的平均等待时间(ms)

w_await

每次写入操作的平均等待时间(ms)

await

所有 I/O 操作(读/写)的平均等待时间(ms)

svctm

每次 I/O 操作的平均服务时间(ms)

%util

磁盘的利用率

常用操作:每 1 秒钟更新一次,输出 5 次统计信息。

复制
iostat -x 1 51.
4. netstat/ss

功能:查看网络连接、监听端口、路由信息等信息。

netstat和ss命令功能基本一样的。

常用选项:

选项

说明

-a

显示所有连接和监听端口

-t

显示 TCP 协议的连接

-u

显示 UDP 协议的连接

-l

显示正在监听的套接字

-p

显示哪个进程正在使用该连接

-n

以数字格式显示地址和端口号(默认情况下,会显示主机名和服务名)。

-r

显示路由表

常用操作: 显示正在监听的端口和使用这些端口的进程

复制
netstat -lntup ss -lnupt1.2.

ss命令也可以快速查看网络连接,通常比netstat更高效。

5. sar

功能:帮助用户监控系统状态,并生成关于 CPU 使用率、内存、I/O、网络、文件系统等的详细报告

sar属于sysstat包,需要单独安装。sar 默认并不会持续收集数据,还需要启动sysstat。

复制
yum install sysstat systemctl enable --now sysstat1.2.

常用操作:

每秒报告一次CPU使用情况,报告三次。
复制
sar -u 1 31.

每秒报告一次内存使用情况,报告三次。
复制
sar -r 1 31.

6. iptraf

iptraf 是一个基于终端的交互式网络监控工具,主要用于实时监控和分析 Linux 系统的网络流量。它提供了详细的网络接口统计信息、网络连接状态、数据包计数、传输速率等内容,常用于网络性能调优和故障排查。iptraf 可以帮助系统管理员快速发现网络瓶颈、连接问题和流量异常。

安装:

复制
yum install iptraf1.

使用:

复制
iptraf-ng1.

里面涉及的一些输出字段大部分应该是比较熟悉的,就不展开讲解了。

7. nmon

功能:图形化监控工具,支持多项性能指标。

使用: 启动nmon,按c查看CPU,按m查看内存,按d查看磁盘。

按c查看CPU:

按m查看内容:

按d查看磁盘:

8. strace

功能:跟踪系统调用,帮助调试程序。

安装:

复制
yum install strace1.

使用strace -p监控特定进程的系统调用,或使用strace ./your_program跟踪程序的执行。

先通过netstat或top命令找到对应的PID,然后再追踪:

THE END