linux服务器如何查询cpu的使用信息

在Linux服务器运维中,实时监控CPU使用情况是保障系统稳定运行的关键,通过命令行工具可以高效获取CPU的实时负载、核心利用率、进程分布等详细信息,以下是常用查询方法及具体操作解析。

linux服务器如何查询cpu的使用信息

top命令:实时监控CPU与进程状态

top是最常用的动态监控工具,默认每3秒刷新一次数据,可直观查看CPU整体及各核心使用率、进程资源占用情况。
基本用法

top

关键输出字段解析(以CPU使用率为例):
| 字段 | 含义 | 说明 |
|——|————————–|———————————————————————-|
| %us | 用户空间CPU占用率 | 进程在用户态执行代码的时间占比 |
| %sy | 内核空间CPU占用率 | 进程在内核态(如系统调用)执行代码的时间占比 |
| %ni | 优先级进程CPU占用率 | 通过nice命令调整优先级的进程占用率 |
| %id | 空闲CPU占比 | CPU空闲时间占比,越高表示系统负载越低 |
| %wa | 等待I/O的CPU占比 | CPU等待磁盘/网络I/O完成的时间占比,过高可能意味着存储性能瓶颈 |
| %hi | 硬中断CPU占比 | 处理硬件中断的时间占比(如网卡、磁盘中断) |

交互操作技巧

  • 1 切换显示各CPU核心使用率(适用于多核CPU);
  • PCPU使用率降序排序,M 按内存使用率排序;
  • d 修改刷新间隔(如输入5表示每5秒刷新一次)。

uptime命令:查看系统负载平均值

uptime以简洁形式展示系统最近1分钟、5分钟、15分钟的CPU负载平均值,适用于快速判断系统整体负载情况。
基本用法

uptime

输出示例14:30:25 up 10 days, 3:15, 2 users, load average: 0.45, 0.32, 0.28

  • load average后三个数值分别代表1分钟、5分钟、15分钟内的平均负载,数值越接近CPU核心数表示负载越高(如4核CPU负载达4时表示CPU已满载)。

vmstat命令:统计CPU与系统资源使用

vmstat提供进程、内存、I/O、CPU等统计信息,适合分析CPU空闲、等待、系统调用等细分指标。
基本用法

linux服务器如何查询cpu的使用信息

vmstat 1 5  # 每1秒刷新一次,共输出5次

CPU相关字段解析
| 字段 | 含义 | 正常范围 |
|——|————————–|——————————|
| r | 就绪进程数 | 单核CPU建议不超过3,多核按核心数比例调整 |
| b | 等待I/O的进程数 | 长期大于1需检查磁盘性能 |
| us | 用户态CPU占用率 | 同top的%us |
| sy | 内核态CPU占用率 | 同top的%sy |
| id | 空闲CPU占比 | 同top的%id |
| wa | 等待I/O的CPU占比 | 同top的%wa |

mpstat命令:按CPU核心分析使用率

mpstatsysstat工具包的一部分,需安装sysstatyum install sysstatapt install sysstat),可单独查看每个CPU核心的使用情况。
基本用法

mpstat -P ALL 1 3  # 每1秒刷新,查看所有核心,共3次

输出示例CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle

  • CPU列中all表示所有核心平均,01等表示具体核心编号,通过对比可定位是否存在单个核心过载(如某些进程绑定核心导致不均衡)。

/proc/cpuinfo:查看CPU硬件信息

若需了解CPU物理规格(如型号、核心数、频率),可查看/proc/cpuinfo文件:

cat /proc/cpuinfo | grep "model name|processor|cpu cores"
  • processor数量为逻辑核心数(含超线程),cpu cores为物理核心数。

htop命令:增强版进程监控(可选)

htoptop更直观,支持颜色区分、鼠标操作、进程树显示等,需安装(yum install htopapt install htop):

htop

可通过快捷键F2配置显示列,F5查看进程树,t查看线程实时状态。

linux服务器如何查询cpu的使用信息

相关问答FAQs

Q1:为什么top命令显示的CPU使用率总和超过100%?
A:当服务器启用超线程(Hyper-Threading)技术时,逻辑核心数是物理核心数的2倍,此时CPU使用率按逻辑核心计算,4核8逻辑的服务器,单核心满载时总使用率可达100%,8核心均满载时总使用率才为800%,若%us%sy%ni等指标相加超过100%,可能是统计周期内CPU存在并行任务处理(多线程同时占用不同核心)。

Q2:如何查看CPU的历史使用率数据?
A:需安装sysstat工具包,使用sar命令查询历史记录,默认sysstat会保留每日数据(通常在/var/log/sysstat/目录下,如sa25),查看昨日CPU使用率:

sar -u -f /var/log/sysstat/sa25

查看实时CPU使用率并记录到文件:

sar -u 1 10 > cpu_usage.log  # 每1秒记录一次,共10次,保存至cpu_usage.log

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/22352.html

(0)
酷番叔酷番叔
上一篇 2025年9月9日 15:42
下一篇 2025年9月9日 16:00

相关推荐

  • linux 如何查看txt文件格式

    Linux 中,可以使用 file filename.txt 查看文件格式,或用 cat filename.txt、`less filename.

    2025年8月18日
    11800
  • Linux如何查看系统cache的使用状态及占用信息?

    在Linux系统中,cache(缓存)是提升系统性能的关键机制,主要用于缓存频繁访问的数据,减少磁盘I/O和内存访问延迟,查看cache的使用情况有助于监控系统内存状态、诊断性能问题,例如判断内存是否被过度占用、是否存在内存泄漏等,Linux中查看cache的方法多样,可通过命令行工具、系统文件等途径实现,以下……

    2025年8月28日
    10400
  • 如何让开发团队免密执行sudo?安全吗

    在Linux系统中,用户分配是系统管理的核心任务之一,它直接关系到系统安全、资源控制和多用户协作效率,下面详细介绍Linux用户分配的全流程,所有操作均需root权限(通过sudo或su切换),用户创建基础创建用户useradd [选项] 用户名常用选项:-m:自动创建用户家目录(如/home/用户名)-s……

    2025年8月4日
    12100
  • linux文件中如何写入文本

    Linux中,可使用echo “文本内容” ˃ 文件名或`cat ˃˃

    2025年8月18日
    10600
  • 如何制作linux小程序

    Linux小程序需掌握编程语言,如Python、C等,使用文本编辑器编写代码,通过终端

    2025年8月16日
    9400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信