cpu飙升时的排查方式、线上环境常规排查步骤

news2024/12/23 15:16:10

提示:面试问题:cpu飙升时的排查方式、生产问题排查方式

文章目录

  • 前言
  • 一、cpu飙升时的排查步骤
    • 1、top
    • 2、top -Hp pid
    • 3、printf ‘0x%x’ tid
    • 4、jstack pid | grep tid
  • 二、总结
  • 三、线上环境常规排查步骤
    • 1、查看服务器中线程情况
    • 2、查看系统异常进程的16进制
    • 3、查看异常线程堆栈信息
    • 4、查看占用最大内存对象前100
    • 5、导出到文件
    • 6、或dump信息使用工具Mat或者JProfiler查看
  • 总结


前言

相对比而言,后端开发需要掌握的知识更多一些。毕竟我们要懂java、数据库、linux、各种中间件。。我们今天就说一说,当服务器中的cpu突然飙升时,怎么排查。本人水平有限,如有误导,欢迎斧正,一起学习,共同进步!


一、cpu飙升时的排查步骤

1、top

使用 top 命令,查看占用资源最多的进程(cpu的使用率、内存什么的)

top

效果图:
在这里插入图片描述

2、top -Hp pid

使用 top -Hp pid 定位这个进程内,占用cpu最高的线程。

top -Hp 182275

效果图:
在这里插入图片描述

3、printf ‘0x%x’ tid

使用 printf ‘0x%x’ tid 将进程id 转换为16进制 零x,中文下的单引号

printf ‘0x%x’ 182347

效果图:
在这里插入图片描述

4、jstack pid | grep tid

jstack pid | grep tid 找到线程堆栈 pid是进程id、tid是线程id

jstack 182275 | grep 0x2c84b -A 30

效果图:
在这里插入图片描述

二、总结

总结一下,其实就是4步:

  1. top oder by whit P :1040 // 首先按进程负载拍粗找到 axload(pid)
  2. top -Hp 进程PID : 1073 // 找到相关负载 线程PID
  3. printf “0x%x\n” 线程PID: 0X431 // 将线程PID转换为16进制,为后面查找jstack日志做准备
  4. jstack 进程PID | vim +/十六进制线程PID - // 例如: jstack 1040|vim +/0x431 -

三、线上环境常规排查步骤

1、查看服务器中线程情况

top -H -p pid

ps -mp pid -o THREAD,tid,time

2、查看系统异常进程的16进制

printf “%x\n” nid

3、查看异常线程堆栈信息

jstack pid | grep number

4、查看占用最大内存对象前100

jmap -histo pid|head -100

5、导出到文件

jstack -l PID >> a.log

6、或dump信息使用工具Mat或者JProfiler查看

jmap -dump:live,format=b,file=/dump.bin pid


总结

这里是比较传统的线上问题排查方案,后续有机会的话,会分享一些其他的方案,这样我们可以视情况而定,多一些手段,多一份保障。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1965431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaEE 从入门到精通(一) ~ Maven

晚上好,愿这深深的夜色给你带来安宁,让温馨的夜晚抚平你一天的疲惫,美好的梦想在这个寂静的夜晚悄悄成长。 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 在软件开发的日常工作中,有效的项目管理是…

OCC 模型编辑

目录 一、简介 二、主要功能 三、常用方法 四、详细子类示例 1、BRepBuilderAPI_Copy 1.1 形状复制 注意事项 1.2 复制和变换 2、BRepBuilderAPI_Transform 3、BRepBuilderAPI_GTransform 3.1 应用广义仿射变换 3.2 平移和旋转变换 3.3 缩放 4、BRepBuilderAPI_Nu…

shell正则表达式和文本处理器

文章目录 一,正则表达式1.基础正则表达式1.1 字符匹配1.2 元字符1.3 字符集1.4 预定义字符集1.5 量词1.6 非打印字符 2.扩展正则表达式2.1分组和引用2.2 选择2.3 量词 二,文件处理器1.grep2.sed3.egredp4.awk4.1awk版本4.2工作原理4.3工作流程4.4运行模式…

搜维尔科技:Manus VR数据手套-适用于机器人、人工智能和机器学习解决方案

在劳动力短缺和工作环境日益严峻的今天,机器人技术正成为解决这些复杂问题的关键。MANUS™ 手指捕捉技术,结合先进的量子追踪技术,为机器人的精确操作和远程控制提供了准确且先进的解决方案。 技术亮点 实时数据捕捉:通过Quantum…

数学强化✨张宇18讲+1000题45天带刷计划

张宇25版18讲加起来一共656页,是以前的2倍内容,课时量页直接翻倍! 你以为张宇是把强化内容给重新讲了一遍吗?并不是,张宇往年的的强化内容放在了25版的基础部分来讲,这就直接导致张宇基础30讲课时量页跟着…

视频美颜SDK技术揭秘:如何在直播中实现实时美颜

为了满足观众对视觉效果的追求,视频美颜SDK(软件开发工具包)应运而生。今天小编将揭示视频美颜SDK技术,探讨它是如何在直播中实现实时美颜效果的。 一、视频美颜SDK的基本原理 视频美颜SDK是一种专为视频直播应用设计的软件工具…

电子级异丙醇的应用以及电子级异丙醇的提纯

电子级异丙醇是一种极高纯度的异丙醇(Isopropyl Alcohol, IPA),专为电子和其他高科技产业中对清洁度和纯度有严格要求的应用而设计。它经过特殊的精炼和过滤工艺,以去除水分、杂质、颗粒物以及金属离子,确保其具备超低…

最优化(12):约束优化算法

本章主要讲解罚函数法和增广拉格朗日函数法。

微信静默授权,配置redirect_uri,路径

微信静默授权,配置redirect_uri,路径 1.登录微信公众号 2.进入:https://mp.weixin.qq.com/cgi-bin/settingpage?tsetting/function&actionfunction&token1764020234&langzh_CN

2/100数据分析实战项目_商城销售数据分析_Python+帆软BI

前言 商城销售数据分析 数据源:https://www.heywhale.com/mw/project/5f7f0c07fab2e800300e51e4/content BI展示http://localhost:37799/webroot/decision/link/xItL 密码: a600【链接失效:2024年10月31日】 1. 销售数据分析 销售数据分析一般分析什么数据&#x…

C#调试与VS技巧、注释规范等

C#高级调试与VS技巧 断点条件断点联动断点断点详细信息显示并输出 VS技巧常用快捷键保存代码段设置自己的代码命名规则智能显示当前代码所处的Scope固定的选项卡另外起一行竖向选项卡 C#规范注释///自动生成注释para另起一行,see指向符号(可跳转),code插…

WPF的5种绑定模式

WPF的5种绑定模式 WPF的5种绑定模式演示效果XAML WPF的5种绑定模式 OneWay(源变就更新目标属性)TwoWay(源变就更新目标并且目标变就更新源)OneTime(只根据源来设置目标,以后都不会变)OneWayToS…

科普文:Lombok使用及工作原理详解

1. 概叙 Lombok是什么? Project Lombok 是一个 JAVA 库,它可以自动插入编辑器和构建工具,为您的 JAVA 锦上添花。再也不要写另一个 getter/setter 或 equals 等方法,只要有一个注注解,你的类就有一个功能齐全的生成器…

《动手做科研》08. 云端上的深度学习

地址链接:《动手做科研》08. 云端上的深度学习 欢迎加入我的知识星球,定期分享AI论文干货知识! 导读: 当我们开始开发复杂模型时,尝试在本地计算机上训练模型通常不是一个可行的选择,因为我们本地的显存都比较受限制,而…

streamlit安装成功

文章目录 安装streamlit方法1:联网在线安装方法2:离线安装(无网络)安装streamlit 方法1:联网在线安装 在Anaconda的工作环境(或其他虚拟环境或真是环境,均可以)中,安装streamlit: pip install streamlit安装成功后如下图所示: 然后我们测试一下streamlit是否安装…

一文看懂什么是架构

对程序员来说,架构是一个常见词汇。如果想成为一名架构师,对架构概念的理解必须清晰。否则,在制定架构方案时,肯定会漏洞百出,问题频发,这将对你的面试、晋升和团队领导产生负面影响。 我们看下维基百科关…

地方坐标系CAD如何转成标准的国家2000

0序: 现在基本全国范围内都在逐步的应用国家2000了。不分设计院可能由于项目等原因,还在使用地方坐标系,这些地方坐标系的数据很难和标准地图进行叠加。 有些软件提供了4参数的方法来接入地方坐标系的CAD。但不是所有的软件,平台…

用manim创建坐标系

用manim创建坐标系 1.Axes._update_default_configs()的使用 构造函数: static _update_default_configs(default_configs, passed_configs) manim 是一个用于创建数学动画的 Python 库。static _update_default_configs(default_configs, passed_configs) 是 man…

每日一题 ~乘积最大子数组

. - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/maximum-product-subarray/description/ 题目分析 题目要求找出给定整…

车载A2B芯片AD2428 IIC功能介绍

车载A2B芯片AD2428 IIC功能介绍 一,功能描述二,架构概念2.1 I2C接口2.2 I2C时钟拉伸2.3 收发器I2C接口2.4 收发器I2C访问延迟 一,功能描述 A2B收发器在节点之间的距离上连接多通道I2S(IC间声音)同步脉冲编码调制&…