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

Linux排查cpu运行负载过高

方式1:top

先输入top再输入1,查看 %CPU 列,找出占用 CPU 最多的进程

  • 作用:切换显示每个逻辑 CPU 的使用情况。
  • 效果
    • 如果系统有多个 CPU 核心或超线程逻辑处理器,按下 1 会使得 top 分别显示每个逻辑 CPU 的使用情况。

每一行显示了用户空间 (us)、系统空间 (sy)、空闲 (id) 等不同类型的 CPU 使用率。

解释

  • us:用户空间占用率,即应用程序使用的 CPU 时间
  • sy:系统空间占用率,即操作系统内核使用的 CPU 时间
  • ni:调整过的用户空间占用率,通常用于 nice 值调整后的进程。
  • id:空闲时间百分比。
  • wa:等待 I/O 操作完成的时间百分比。
  • hi:处理硬件中断所花费的时间百分比。
  • si:处理软件中断所花费的时间百分比。
  • st:被虚拟机偷走的时间百分比(在虚拟化环境中)。

 方式2:htop

 方式3:使用 ps 和 sort

  1. 列出所有进程及其 CPU 使用情况

    ps aux --sort=-%cpu | head -n 10

    这个命令将列出 CPU 使用率最高的前10个进程。

  2. 查找特定用户或命令的进程: 如果你知道某些特定的用户或命令可能有问题,可以过滤这些

    ps使用示例
    ps aux | grep <username>
    ps aux | grep <command>
    
# 前十的进程
ps aux --sort=-%cpu | head -n 10# kes用户的进程
ps aux --sort=-%cpu | grep kes # kes用户前十的进程
ps aux --sort=-%cpu | grep kes | head -n 10# 常用命令
ps aux | grep python
ps -u kes | grep python
ps -u kes -o pid,ppid,%cpu,%mem,cmd --width=200 | grep python(base) kes@ai:~$ ps aux | grep 2098971
kes      2098971  7.1  0.0 2190284 188440 pts/3  Sl+  Dec14 101:37 python server/abr_server.py
kes      3503766  0.0  0.0   6432  2600 pts/5    S+   13:16   0:00 grep --color=auto 2098971(abr_kes) kes@ai:~$ pidstat -u -p 2098971 1
Linux 5.4.0-200-generic (ai)    12/15/2024      _x86_64_        (48 CPU)01:22:06 PM   UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
01:22:07 PM  1004   2098971    4.00    4.00    0.00    0.00    8.00     6  python
01:22:08 PM  1004   2098971    6.00    2.00    0.00    0.00    8.00     6  python
01:22:09 PM  1004   2098971    4.00    2.00    0.00    0.00    6.00     6  python
01:22:10 PM  1004   2098971    5.00    2.00    0.00    0.00    7.00     6  python
01:22:11 PM  1004   2098971    6.00    2.00    0.00    0.00    8.00     6  python
01:22:12 PM  1004   2098971    4.00    1.00    0.00    0.00    5.00     6  python# CPU 核心:所有采样点中,CPU列的值均为6,这意味着该进程在这段时间内始终被调度到 CPU核心6上运行。
# CPU 使用率:%CPU列显示了该进程在每个采样间隔内的总CPU使用率,通常在5.00到9.00之间波动,表明它是一个相对活跃的进程。

http://www.lryc.cn/news/506104.html

相关文章:

  • Cobalt Strike 4.8 用户指南-第十四节 Aggressor 脚本
  • C++并发与多线程(高级函数async)
  • 安卓课设版算法计算器
  • X-Forwarded-For注入漏洞
  • Linux - MySQL迁移至一主一从
  • 《变形金刚:赛博坦的陨落》游戏启动难题:‘buddha.dll’缺失的七大修复策略
  • 51c嵌入式~单片机~合集2
  • java Resource 记录
  • Avalonia 开发环境准备
  • C# 中 Console.WriteLine($“{DateTime.Now.Date}“); win 和 docker容器输出不同
  • 回型矩阵:JAVA
  • 从零开始学习 sg200x 多核开发之 sophpi 编译生成 fip.bin 流程梳理
  • python--在服务器上面创建conda环境
  • day15 python(3)——python基础(完结!!)
  • /:087启动游戏时提示丢失”d3dx···.dll””VCOMP···.dll”
  • 利用PHP和phpSpider进行图片爬取及下载
  • 企业架构划分探讨:业务架构与IT架构的利与弊
  • Java设计模式 —— 【结构型模式】桥接模式详解
  • MySQL学习之DDL操作
  • 游戏AI实现-寻路算法(A*)
  • spring学习(spring的IoC思想、spring容器、spring配置文件、依赖注入(DI)、BeanProxy机制(AOP))
  • 谁说C比C++快?
  • GEE+本地XGboot分类
  • OpenCV相机标定与3D重建(24)计算两个二维点集之间的最佳仿射变换矩阵(2x3)函数estimateAffine2D()的使用
  • UIP协议栈 TCP通信客户端 服务端,UDP单播 广播通信 example
  • 【NoSQL系列】为什么要使用Redis?
  • MySQL Explain 分析SQL语句性能
  • IIS部署程序https是访问出现403或ERR_HTTP2_PROTOCOL_ERROR
  • 学技术学英文:代码中的锁:悲观锁和乐观锁
  • 青少年编程与数学 02-004 Go语言Web编程 02课题、依赖管理