linux中cpu使用情况命令
linux中cpu使用情况命令详细介绍
在 Linux 中,查看 CPU 使用情况的常用命令有很多,以下是最常用的几种及详细说明:
1. top - 实时动态监控(最常用)
功能:实时显示系统中各进程的资源占用情况,包括 CPU、内存、进程状态等。
命令格式:
bash
选项
常用选项:
-d <秒数>:指定刷新间隔(如-d 2表示每 2 秒刷新一次)。-p <进程ID>:仅监控指定进程的 CPU 占用。-u <用户名>:仅显示指定用户的进程。Shift + P:交互模式下按P键,按 CPU 使用率排序。
输出关键列(重点看 %CPU):
%CPU:进程占用的 CPU 百分比(多核情况下可能超过 100%,表示占用多个核心)。Cpu(s):全局 CPU 使用率(下方一行,如12.3%us用户空间,3.2%sy内核空间,84.5%id空闲)。
2. htop - 增强版 top(需安装)
功能:比 top 更直观的交互式界面,支持多核 CPU 可视化、进程树查看等。
安装(以 Debian/Ubuntu 为例):
bash
使用:直接运行 htop,界面中会显示每个 CPU 核心的实时使用率(柱状图)。
3. vmstat - 系统资源统计(含 CPU 细分)
功能:显示虚拟内存、进程、CPU 等系统整体状态,支持周期性统计。
命令格式:
bash
间隔秒数 次数
示例:
bash
输出关键列(cpu 部分):
us:用户空间程序占用 CPU 百分比。sy:内核空间(系统调用)占用 CPU 百分比。id:空闲 CPU 百分比。wa:等待 I/O 操作的 CPU 时间百分比(过高可能表示磁盘瓶颈)。st:被虚拟机偷走的 CPU 时间(仅虚拟化环境)。
4. mpstat - 多核 CPU 详细分析
功能:针对多核 CPU,显示每个核心的使用率,或整体统计。
安装:需安装 sysstat 包(多数系统默认安装,未安装时用 sudo apt install sysstat 安装)。
命令格式:
bash
mpstat 选项 间隔秒数 次数
常用选项:
-P ALL:显示所有 CPU 核心的统计信息。-P 0:仅显示第一个核心(CPU 0)。
示例:
bash
mpstat ALL
输出关键列:同 vmstat 的 us、sy、id 等,每个核心单独一行。
5. sar - 系统活动报告(支持历史数据)
功能:系统级监控工具,可记录和分析历史 CPU 数据(需提前启用日志)。
安装:同 mpstat,依赖 sysstat。
常用命令:
- 实时查看当前 CPU 使用率:bash
sar - 查看过去某天的 CPU 日志(日志默认存于
/var/log/sa/):bashsar /var/log/sa/sa20
6. nmon - 综合系统监控(图形化)
功能:多功能监控工具,支持 CPU、内存、磁盘、网络等实时数据,界面友好。
安装(以 Debian/Ubuntu 为例):
bash
nmon
使用:运行 nmon 后,按 c 键切换到 CPU 监控页面,显示各核心使用率。
7. cat /proc/cpuinfo - CPU 基本信息(非实时使用率)
功能:查看 CPU 硬件信息(型号、核心数、频率等),不显示实时使用率。
命令:
bash
/proc/cpuinfo
关键信息:
processor:CPU 核心编号(从 0 开始)。cpu cores:单个物理 CPU 的核心数。siblings:总逻辑核心数(含超线程)。
总结:按场景选择工具
- 实时监控单个 / 多个进程:用
top或htop(推荐htop,界面更清晰)。 - 分析多核 CPU 负载均衡:用
mpstat -P ALL。 - 查看 CPU 时间细分(用户 / 系统 / 空闲 / 等待):用
vmstat或sar -u。 - 历史数据分析:用
sar(需提前启用日志)。 - 快速获取 CPU 硬件信息:用
cat /proc/cpuinfo。
根据需求选择合适的工具,日常排查通常从 top 或 htop 开始,深入分析时结合 vmstat/mpstat。