不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • Linux入门

  • Linux高级

  • Nginx

  • Keepalive

  • ansible

  • zabbix

  • Shell

  • Linux内核

    • 01.Linux核心概念
    • 02.内存管理
    • 03.进程管理
    • 问题排查
      • 01.CPU过高排查
        • 1.1 JAVA项目
        • 1、top确定进程
        • 2、确定进程中的线程
        • 3、线程ID转16进制
        • 4、定位具体代码行
  • Linux
  • Linux内核
xiaonaiqiang
2022-10-19
目录

问题排查

# 01.CPU过高排查

# 1.1 JAVA项目

# 1、top确定进程

[root@linux-node1 /]# top
top - 03:24:29      # 表示当前时间
up 4 days, 22:56,   # 系统已经运行时间 
2 users,            # 当前登录用户数
load average: 0.01, 0.03, 0.05  # 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值
Tasks: 123 total(进程总数),   2 running(正在运行进程数), 121 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 
us,  0.0  # 用户空间占用CPU百分比
sy,  0.0  # 内核空间占用CPU百分比
ni,100.0  # 用户进程空间内改变过优先级的进程占用CPU百分比
id,  0.0  # 空闲CPU百分比
wa,  0.0  # 等待输入输出的CPU时间百分比
hi,  0.0  # 硬中断(Hardware IRQ)占用CPU的百分比
si,  0.0  # 软中断(Software Interrupts)占用CPU的百分比
st
KiB Mem :  1863224 total(物理内存总量),   219592 free,   498732 used,  1144900 buff/cache
KiB Swap:  2097148 total(交换区总量),  2094580 free,     2568 used.  1043628 avail Mem
    
进程id 进程所有者  优先级  
 PID    USER       PR      RES    SHR S %CPU %MEM     TIME+ COMMAND                                          
6583    root       20      5156   3796 S  0.3  0.3  10:54.90 vmtoolsd       
7284    root       20      2252   1580 R  0.3  0.1   0:00.03 top                 
   1    root       20      3844   2436 S  0.0  0.2   2:04.28 systemd      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 2、确定进程中的线程

[root@VM-8-14-centos ~]# top -Hp 22041
top - 10:45:48 up 52 days, 17:22,  1 user,  load average: 0.00, 0.01, 0.05
Threads:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.5 us,  0.3 sy,  0.0 ni, 99.0 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2046680 total,   136376 free,   200348 used,  1709956 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1648976 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                           
22041 root      20   0   39308   1116    140 S  0.0  0.1   0:00.00 nginx 
1
2
3
4
5
6
7
8
9

# 3、线程ID转16进制

[root@VM-8-14-centos ~]# printf "%x\n" 22041
5619
1
2

# 4、定位具体代码行

  • 查找 进程 22041中 线程号为 5619的线程具体 代码调用栈信息
[root@VM-8-14-centos ~]# jstack 22041 | grep "5619" -A 30
#  grep "5619" -A 30      显示下文30条相关语句
1
2
上次更新: 2024/3/13 15:35:10
03.进程管理

← 03.进程管理

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式