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)
酷番叔酷番叔
上一篇 5小时前
下一篇 5小时前

相关推荐

  • Linux不退出root权限有多危险?

    使用 exit 命令(最推荐)适用场景:通过su、sudo -i或sudo su切换的root会话,或SSH登录的root终端,操作步骤:在终端直接输入命令:exit执行后:若原先是普通用户切换的root,会返回原用户(提示符变回),若是直接登录的root会话,会关闭终端或结束SSH连接,原理:exit命令终止……

    2025年7月19日
    3500
  • linux下换行符如何表示

    Linux中,换行符用`,

    2025年8月19日
    1500
  • linux如何设置开机挂载

    Linux 中,编辑 /etc/fstab文件,添加挂载信息,

    2025年8月18日
    1100
  • Linux主机名如何快速修改?

    临时修改主机名(重启失效)适用于测试环境,使用hostname命令立即生效:sudo hostname new-hostname # 将"new-hostname"替换为实际名称验证:hostname # 输出当前生效的主机名永久修改主机名(主流方法)方法1:使用 hostnamectl(推……

    2025年6月18日
    3700
  • 在Linux操作系统中,如何查看当前系统正在使用的DNS地址信息?

    在Linux系统中,DNS(域名系统)地址是网络通信的关键配置,它负责将域名解析为IP地址,查看当前系统使用的DNS地址有多种方法,适用于不同的Linux发行版和场景,以下是常用且详细的操作方式,使用nslookup命令查询DNS服务器nslookup(Name Server Lookup)是Linux中最基础……

    2025年8月25日
    1800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信