当前位置: 首页 > web >正文

Linux的top指令CPU占用率详解(白话版)——Linux进阶常用知识点

👦👦一个帅气的boy,你可以叫我Love And Program
🖱 ⌨个人主页:Love And Program的个人主页
💖💖如果对你有帮助的话希望三连💨💨支持一下博主

top命令中%CPU说明

  • top命令
  • CPU占用率说明(仅看cpu占用率详解请直接跳转到这)
    • top关键列说明
      • PID
      • USER
      • PR 和 NI
      • VIR
      • VIR
      • SHR
      • S
      • %CPU
      • %MEM
      • TIME+
      • COMMAND
  • 参考

top命令

       top 命令的输出提供了系统当前运行的进程及其资源占用情况的详细信息。包括进程 ID、用户、优先级、虚拟内存、物理内存、CPU 使用率、物理内存百分比、时间、进程名称,以下是对输出列的解释和示例分析:

PID    USER PR NI VIRT  RES  SHR S %CPU %MEM TIME+   COMMAND
28894  root 22  0 1501m 405m 10m S 52.2 1.3 2534:16 java
18249  root 18  0 3201m 1.9g 11m S 35.9 6.0 569:39.41 java

       咱们要分析top指令中的cpu占用率,也就是 %CPU 这个指标,或许大家都知道这个指标,但是真有人问起你

  • 为什么cpu占用率能超100%?
  • 你说cpu占用率超300%是什么意思?可以解释一下吗?

CPU占用率说明(仅看cpu占用率详解请直接跳转到这)

输入top后
继续输入数字 1 进入cpu详细占用率说明界面

       可以看到当前服务器是8核的,有8个CPU,咱们只需要看 第一列 us (反映应用程序的 CPU 占用情况) 即可,每个CPU最高使用率为%100,8个最高能用到800%,这才是 top命令中显示的 python进程对应**%CPU** 可以达到%264.1的原因(8个CPU占用率相加后稍微超出264.1是因为还统计了系统程序)

在这里插入图片描述

点击数字 2 进入第二个页面

这里的%CPU是百分制,最高为100us,也就是上述8个CPU所用显示为百分制。

在这里插入图片描述


top关键列说明

PID

  • 进程的唯一标识符(Process ID)。示例中两个 Java 进程的 PID 分别是 28894 和 18249。

USER

  • 进程所属的用户。示例中均为 root 用户运行。

PR 和 NI

  • PR:进程的优先级(Priority),数值越小优先级越高。示例中分别为 22 和 18。
  • NI:进程的“谦让度”(Nice Value),影响优先级调整范围。0 表示默认优先级。

VIR

  • 进程使用的虚拟内存总量(Virtual Memory),包括共享库、交换分区等。(1501m 表示 1501 MB,3201m 表示 3201 MB。)

VIR

  • 进程实际使用的物理内存(Resident Memory),单位通常是 KB 或 MB。405m 表示 405 MB,1.9g 表示 1.9 GB。

SHR

  • 共享内存(Shared Memory),即被其他进程共享的内存部分。示例中分别为 10m 和 11m。

S

进程状态(Status):

  • S:休眠(Sleeping)。
  • R:运行中(Running)。
  • D:不可中断休眠(Uninterruptible Sleep)。
  • Z:僵尸进程(Zombie)。

%CPU

  • 进程占用的 CPU 使用率。示例中分别为 52.2% 和 35.9%。

%MEM

  • 进程占用的物理内存百分比。示例中分别为 1.3% 和 6.0%。

TIME+

  • 进程自启动以来占用的总 CPU 时间.
  • 2534:16 表示 2534 小时 16 分钟。
  • 569:39.41 表示 569 小时 39 分钟 41 秒。

COMMAND

  • 进程名称或启动命令。示例中均为 Java 进程

参考

参数全称含义描述理想情况
usUser TimeCPU 执行用户空间进程的时间(含 nice 进程),反映应用程序的 CPU 占用情况。越高越好(合理范围内)
sysystem timeCPU 在内核空间运行的时间(含硬中断和软中断),反映系统内核操作的 CPU 占用。越低越好
niNice Time低优先级用户进程(nice 进程)的 CPU 占用时间,通过 nice 值调整进程优先级。通常较低(无需关注)
idIdle TimeCPU 处于空闲状态的时间,系统无进程可执行时的等待时间。(无需关注)
wawaiting timeCPU 等待 IO 操作完成的时间,反映系统在 IO 操作中的阻塞情况。越低越好
hihard IRQ timeCPU 处理硬中断(硬件设备直接触发的中断)的时间,如磁盘、网卡等硬件请求。通常较低
sisoft IRQ timeCPU 处理软中断(由硬中断派生的软件中断)的时间,如内核线程处理网络包、调度等。通常较低
ststeal time虚拟机 CPU 被宿主机(Hypervisor)抢占的时间,即虚拟机等待 CPU 资源的时间。越低越好
http://www.xdnf.cn/news/14784.html

相关文章:

  • 网络缓冲区
  • uni-app项目实战笔记26--uniapp实现富文本展示
  • 展开说说:Android之ContentProvider源码浅析
  • 机器学习算法-K近邻算法-KNN
  • Linux tcp_info:监控TCP连接的秘密武器
  • Day44 预训练模型
  • OpenCV图像添加水印
  • Python 数据分析与可视化 Day 9 - 缺失值与异常值处理技巧
  • 秘窟燃战.纷魄凌霄(第二集)
  • Re:从零开始的文件分配方式(考研向)
  • 深入浅出Java NIO:原理、实战与性能优化
  • FPGA在嵌入式图像处理中的深度应用!
  • Springboot多用户博客管理系统的设计与实现0ce8q(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 【大数据】大数据产品基础篇
  • 微信小程序:实现树形结构组件
  • 用 pnpm + TurboRepo,构建多项目高效开发体系
  • 【C语言】知识总结·指针篇
  • PIXHAWK(ardupilot4.52)NMEA的解析bug
  • HarmonyOS NEXT仓颉开发语言实现画板案例
  • Python爬虫实战:研究Levenshtein库相关技术
  • FrozenBatchNorm2d 详解
  • Win10安装dify
  • AI+时代已至|AI人才到底该如何培育?
  • 跨越十年的C++演进:C++14新特性全解析
  • [论文阅读] 人工智能+ | 用大语言模型给建筑合规检查“开挂“:BIM领域的自动化革命
  • Unity2D 街机风太空射击游戏 学习记录 #14 环射和散射组合 循环屏幕道具
  • mysql无法启动的数据库迁移
  • 从提示工程(Prompt Engineering)到上下文工程(Context Engineering)
  • 力扣-合并区间
  • 蜂鸟代理IP+云手机:跨境电商多账号运营的“隐形风控引擎”