系统资源与性能分析——CPU
发表于 2025/12/09
0
CPU
基本概念
中央处理器(Central Processing Unit,简称CPU)是计算机的主要设备之一,其功能是解释计算机指令以及处理计算机软件中的数据。
- 物理核:可以真实看到的CPU核,有独立的电路元件以及L1、L2缓存,可以独立地执行指令。一个CPU可以有多个物理核。
- 逻辑核:在同一个物理核内,逻辑层面上存在的核。一般一个物理核对应一个线程,但是如果开启了超线程,当超线程数量为n时,一个物理核可以分成n个逻辑核。
可以通过lscpu命令查看服务器中有多少个CPU,每个CPU中有几个物理核,以及每个CPU有几个逻辑核。
常用CPU性能分析工具
- uptime:可用于打印系统平均负载,通过查看最后三个数字,可以判断平均负载的变化趋势。 平均负载大于CPU数量时表示CPU不足以服务线程,部分线程在等待;平均负载小于CPU数量,代表当前还有余量。
- vmstat:可以动态地了解系统资源的使用情况,以及查看系统中是哪一个环节最占用系统资源。 通过vmstat -h命令可以查看命令详解参数。 例如:

| 字段 | 含义 |
|---|---|
| procs | 进程信息字段。 |
| memory | 内存信息字段。 |
| swap | 交换分区信息字段。 |
| io | 磁盘读/写信息字段。 |
| system | 系统信息字段。 |
| cpu | CPU信息字段。-us:非内核进程消耗 CPU 运算时间的百分比。-sy:内核进程消耗 CPU 运算时间的百分比。-id:空闲。-wa:等待 I/O 所消耗的 CPU 百分比。-st:被虚拟机所盗用的 CPU 百分比。 |
- sar:可用于分析系统性能,可以用来观察当前的活动以及配置,用以归档和报告历史统计信息。 例如
# 安装sysstat
yum install -y sysstat
# 查看系统CPU的整体负载情况,每3秒统计一次,共统计5次
sar -u 3 5
在命令的输出信息中,各字段所代表的含义如下:
| 字段 | 含义 |
|---|---|
| %user | 用户模式下消耗的 CPU 时间的比例。 |
| %nice | 通过 nice 改变了进程调度优先级的进程,在用户模式下消耗的 CPU 时间的比例。 |
| %system | 系统模式下消耗的 CPU 时间的比例。 |
| %iowait | CPU 等待磁盘 I/O 导致空闲状态消耗的时间比例。 |
| %steal | 利用操作系统等虚拟化技术,等待其他虚拟CPU计算占用的时间比例。 |
| %idle | CPU空闲时间比例。 |
- ps:可用于查看正在运行的进程。
# 查看系统中所有的进程,以及查看进程的父进程的 PID 和进程优先级
ps -le
# 查看当前shell产生的进程
ps -l
- top:可以动态地持续查看进程的运行状态,显示最消耗CPU的进程。
top



