本帖最后由 非凡云 于 2025-3-18 11:05 编辑
在 Linux 系统中,查看 CPU 使用情况是性能分析和故障排查的重要环节。查看 CPU 使用情况,使用 top 命令或者 htop 命令来查看。
top 命令是 Linux 的一个快速动态进程监视器,可以实时显示特定系统监视器核心指标,示例如下:
1. top 命令
- top - 19:30:10 up 2:33, 1 user, load average: 0.44, 0.47, 0.45
- Tasks: 183 total, 1 running, 1 sleeping, 182 stopped, 0 zombie
- Cpu(s): 3.6%us, 0.3%sy, 0.0%ni, 95.7%id, 0.3%wa, 0.0%hi, 0.1%si, 0.0%st
复制代码 从上面的情况来看,CPU 当前使用率为 3.6%us ,这部分使用率代表在用户空间内的 CPU 时间 ,另外的 0.3%sy 指代表系统空间内的 CPU 时间, 95.7%id 表示 CPU 当前空闲时间占总时间百分比。
核心功能:动态显示系统资源使用情况,默认按 CPU 占用排序。
关键指标:操作:
按 1 展开多核 CPU 详情。 按 P 以 CPU 使用率排序。 按 Shift + H 显示线程级数据。
使用 htop 查看 CPU 使用情况,它可以显示更详细的信息,包括内存使用情况、进程、CPU 使用率等。使用htop 命令后,可以看到 CPU 的状态:
2. htop 命令
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- 3 root 20 0 8572 768 584 S 0.0 0.1 0:00.01 init
- 4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
复制代码 优势:比 top 更友好的交互式界面,支持颜色标记、鼠标操作和垂直/水平滚动。
htop 命令还可以读到进程的 PID , USER 名,PR 和 NI 的优先级以及 CPU 的占用率等等,从而更加直观地了解各个进程和 CPU 的使用情况。
多核 CPU 分析
3. mpstat 命令
- mpstat -P ALL 1 # 每秒报告所有 CPU 核心的使用情况
复制代码输出解析:
%usr:用户态 CPU 使用率。 %nice:调整优先级的用户进程。 %sys:内核态 CPU 使用率。 %iowait:I/O 等待时间。 %irq:硬件中断时间。 %soft:软件中断时间。 %idle:空闲时间。
用途:诊断 CPU 核心负载不均问题。
综合性能工具
4. vmstat 命令
核心指标:
r:等待运行的进程数(可判断 CPU 是否饱和)。 us, sy, id, wa:同 top 的 CPU 分类。 cs:上下文切换次数(过高可能因进程争抢 CPU)。
查看 CPU 使用情况,有助于 Linux 管理员深层次地探究性能状况,找出进程所占系统资源的大小,检查 CPU 运行率是否过高,查看 CPU 是否存在僵尸进程等,可以很方便的查看关键的系统指标,进而优化 Linux 系统的性能。
非凡云(ffy.com)一个品质可靠,高性价比的云服务平台。3 证资质齐全 IDC+ISP+ICP ,成熟技术团队服务稳定。 |