linux怎么cpu使用率
linux怎么cpu使用率详细介绍
在 Linux 系统中,查看 CPU 使用率可以通过多种命令行工具实现,以下是常用方法及详细说明:
一、实时监控工具
1.
top 命令(最经典)
- 功能:实时显示系统进程和资源使用情况,包括 CPU、内存、进程状态等。
- 命令:bash
- 关键参数:
- 按
1键:显示每个 CPU 核心的使用率(适用于多核 CPU)。 - 按
P键:按 CPU 使用率排序进程(降序)。
- 按
- CPU 相关字段解释(位于顶部第二行):plaintext
%us:用户空间程序占用CPU时间百分比(非内核线程)。%sy:内核空间程序(系统调用)占用CPU时间百分比。
%ni:用户空间低优先级进程(nice值调整)占用CPU时间百分比。
%id:CPU空闲时间百分比(越高越空闲)。
%wa:CPU等待I/O操作的时间百分比(高值可能表示磁盘瓶颈)。
%hi:硬件中断处理时间百分比。
%si:软件中断处理时间百分比。
%st:虚拟机占用CPU时间百分比(仅虚拟化环境)。
2.
htop 命令(增强版 top,交互更友好)
- 优势:支持鼠标操作、进程树显示、更清晰的 CPU 核心分组。
- 安装(需先安装):bash
yum
- 使用:直接运行
htop,CPU 使用率在右侧栏显示,支持按F6排序。
3.
ps 命令(静态查看进程 CPU 占用)
- 列出所有进程的 CPU 使用率:bash
aux -%cpupid,%cpu,cmd
- 参数解释:
%cpu:进程占用 CPU 的百分比(可能超过 100%,表示多线程占用多核)。
二、轻量统计工具
1.
vmstat 命令(系统资源统计,含 CPU)
- 显示 CPU 各状态的平均时间:bash
- 输出中
cpu列字段:plaintextus:用户空间时间 | sy:内核空间时间 | id:空闲时间 | wa:I/O等待时间 | st:虚拟机时间
2.
nmon 命令(多功能监控工具)
- 安装:bash
nmon - 使用:bash
nmon
三、历史数据统计(非实时)
1.
sar 命令(系统活动报告,需安装
sysstat 包)
- 安装:bash
sysstatyum sysstat
- 实时采样:bash
sar - 查看历史数据(需系统已启用日志):bash
sar /var/log/sysstat/saXX
四、通过 /proc/stat 文件计算(适合脚本)
- 原理:读取 CPU 时间戳,通过两次采样计算使用率。
- 命令示例:bash
/proc/stat
/proc/stat
/proc/stat
/proc/stat
curr_total prev_total curr_idle prev_idle / curr_total - prev_total
%"
991234567891011== ===
五、总结常用场景
- 实时查看整体 CPU 负载:用
top或htop,按1查看多核情况。 - 定位高 CPU 进程:
ps aux --sort=-%cpu或htop排序进程。 - 分析 I/O 等待或中断问题:结合
vmstat的wa、hi、si字段。 - 历史数据复盘:用
sar查看过去的 CPU 使用趋势。
根据具体需求选择工具,日常监控推荐 htop(交互友好),脚本开发推荐解析 /proc/stat,长期分析用 sar。