在Linux系统使用过程中,当遇到程序运行缓慢、系统响应卡顿等情况时,需要通过专门的命令检查系统各维度的性能状态,定位资源占用异常的原因。常用的性能检查命令覆盖了CPU、内存、磁盘、网络等核心资源维度,不同命令的侧重点和使用场景有所区别。

CPU性能检查命令
top命令
top是实时动态查看系统整体性能和进程资源占用的常用命令,默认每隔3秒刷新一次数据,输出内容包含系统负载、CPU使用率、内存使用率以及各个进程的资源占用情况。
常用参数说明:
- -d:指定刷新间隔时间,单位为秒
- -p:指定查看特定PID的进程性能数据
- -u:查看指定用户的进程性能数据
使用示例:
# 每2秒刷新一次性能数据 top -d 2 # 查看PID为1234的进程性能 top -p 1234
vmstat命令
vmstat可以查看系统的CPU、内存、交换分区、IO等整体性能统计信息,适合查看系统一段时间的性能趋势,默认输出一行数据,也可以指定采样间隔和采样次数。
使用示例:
# 每2秒采样一次,共采样5次 vmstat 2 5
输出结果中,us列表示用户进程CPU使用率,sy列表示系统内核CPU使用率,id列表示空闲CPU百分比,这几个指标是判断CPU性能的核心参考。
内存性能检查命令
free命令
free命令用于查看系统内存的使用情况,包括物理内存、交换分区的已用、可用、缓存等数据,默认单位是KB,也可以通过参数调整显示单位。
常用参数:
- -h:以人类可读的单位(G、M)显示数据
- -s:每隔指定秒数持续输出内存数据
使用示例:
# 以可读单位查看内存使用情况 free -h # 每3秒输出一次内存数据 free -s 3
磁盘性能检查命令
iostat命令
iostat是查看磁盘IO性能的核心命令,能够输出磁盘的读写速率、IO等待时间、使用率等数据,帮助判断磁盘是否存在IO瓶颈。
使用示例:
# 查看所有磁盘的IO性能,每2秒刷新一次 iostat -x 2
输出结果中,%util列表示磁盘的IO使用率,数值越高说明磁盘IO越繁忙,当接近100%时说明磁盘存在IO瓶颈。
网络性能检查命令
netstat命令
netstat可以查看网络连接状态、端口监听情况、网络接口统计信息等,适合排查网络连接异常、端口占用等问题。
常用参数:
- -t:查看TCP连接
- -u:查看UDP连接
- -l:查看处于监听状态的端口
- -n:以数字形式显示地址和端口,不解析域名
使用示例:
# 查看所有TCP监听端口 netstat -tln # 查看所有网络连接状态 netstat -tun
综合使用示例
实际排查性能问题时,通常需要组合使用多个命令,比如先用top查看整体CPU和内存占用,找到占用资源高的进程PID,再用vmstat查看系统整体IO情况,用iostat确认磁盘性能,用netstat检查对应进程的网络连接状态,逐步定位问题根源。
以下是组合排查的简单示例:
# 第一步:查看整体性能,找到高占用进程PID top # 第二步:查看系统整体IO情况 vmstat 2 3 # 第三步:查看磁盘IO性能 iostat -x 2 # 第四步:查看高占用进程的网络连接 netstat -tunp | grep 进程PID
Linux性能检查top命令vmstat命令iostat命令netstat命令修改时间:2026-07-24 08:42:21