java线上cpu飙高排查实战详细步骤
1.新建一个springboot项目新加两个接口一个是测试接口是否访问通过/test另一个是专门模拟让cpu飙高的接口/loop将其打包成一个jar放在服务器上。packagecom.cao.controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;RestControllerpublicclassTestController{RequestMapping(/test)publicStringtest(){returntest;}/** * 死循环让CPU拉满用于测试CPU负载 * return */RequestMapping(/loop)publicStringloop(){System.out.println(loop start...);while(true){Math.random();// 持续做计算CPU 直接拉满}}}2.使用java -jar命令启动springboot项目3.访问test接口确保接口正常可以访问4.访问是/loop触发cpu飙高的接口5.排查cpu飙高5.1 使用top命令看cpu最高的top# top命令之后在锁定大写的情况下就可以按P键会按照进行从高到低进行排序或者top|grepjava# 使用这个命令来缩小范围查看但是是无法查看cpu的使用率的还是用top最好找到cpu占比最高的是进程号PID是16108所占cpu已经是99.3%5.2 使用jstack PID命令查看该进程的线程信息jstack 是 JDK 自带的一个命令行工具用于生成 Java 虚拟机当前时刻的线程快照Thread Dump。PID是你要查看的那个 Java 进程的进程号。jstack16108a.txt将这个信息保存到a.txt中方便查看查询5.3 使用top -p PID -H查看这个进程中哪个线程占用的最高top-p16108-H5.4 使用转化后的16进制的线程号找到对应的代码找到线程号是16124占用最高 这个是10进制的但是在jstack PID中打印的是16进制的所以要将这个10进制的转为16进制的才能查询到对应的日志信息vima.txt 在vim中使用?加关键词进行搜索 ?3efc 进行查询关键字3efc就可以定位到是那行代码的问题了找到了这个线程的对应信息找到是TestController.java 的22行就是了6.常见的cpu飙高的原因

相关新闻

GitHub趋势周报:AI基础设施下沉与开发者工具崛起

GitHub趋势周报:AI基础设施下沉与开发者工具崛起

2026年第40周,GitHub Trending 上又换了一批面孔。我照例在周一早上把这一周的数据拉下来,逐项筛了一遍,发现这周的榜单有不少值得记录的变化:AI 项目的占比回落到三成以下,开发者工具、底层运行时这类项目开始挤进前排…

2026/10/10 9:03:43 阅读更多 →
Pytest实战指南:从fixture到参数化,打造高效自动化测试

Pytest实战指南:从fixture到参数化,打造高效自动化测试

1. 为什么是Pytest:它到底比unittest强在哪先聊个现实问题,很多人都问过我:Python自带的unittest不是也挺好的吗,为什么要换pytest?我在公司待过好几个项目,刚开始也是unittest一把梭。写一个测试用例&…

2026/10/10 9:03:43 阅读更多 →
死磕synchronized:从JMM到锁升级,彻底搞懂Java并发同步

死磕synchronized:从JMM到锁升级,彻底搞懂Java并发同步

1. 从一次线上事故讲起:为什么我真的建议你死磕同步代码大概两年前,我接手过一个保险核心系统的“疑难杂症”:每天凌晨跑批之后,总有几笔订单的分润金额对不上。最开始怀疑数据库事务,查了三天日志,最后发现…

2026/10/10 9:03:43 阅读更多 →

最新新闻

influxdb-nodejs 客户端:Node.js 时序数据写入查询实战

influxdb-nodejs 客户端:Node.js 时序数据写入查询实战

简介:这是一份 influxdb-nodejs 资源包,即用 Node.js 编写的 InfluxDB 客户端源码,面向需要读写时序数据、在 Node 或前后端项目中集成 InfluxDB 的 JavaScript 开发者。内含初始化、写入、读取、批量写入、查询等典型调用的实战示例&#xf…

2026/10/10 9:40:56 阅读更多 →
Notepad++主题定制全攻略:从目录结构到深色配色实战

Notepad++主题定制全攻略:从目录结构到深色配色实战

简介:面向Notepad使用者的高颜值主题合集,专门解决默认编辑器样式单一、长时间编码用眼疲劳的问题。压缩包zip内含29个独立xml文件,全部为Notepad主题配置,整体仅174KB,下载和部署都非常轻量。主题类型相当丰富&#x…

2026/10/10 9:40:56 阅读更多 →
一次4KB随机读的完整生命周期:从系统调用到NVMe的延迟解构

一次4KB随机读的完整生命周期:从系统调用到NVMe的延迟解构

很多年前我第一次认真对付一个随机读性能问题的时候,脑子里对“磁盘随机读”其实只有一个非常模糊的印象:大概就是那些看起来毫无章法的4K小IO,慢得让人抓狂。后来为了查一个存储服务的毛刺,把IO路径从应用层一路追到设备固件&…

2026/10/10 9:40:55 阅读更多 →
Linux调度延时分析实战:用perf与DeepSeek大模型定位性能瓶颈

Linux调度延时分析实战:用perf与DeepSeek大模型定位性能瓶颈

1. 调度延时分析这件事,到底难在哪先把概念说清楚。我这里讲的“调度延时”,指的是一个任务从进入可运行状态(Runnable)到真正被 CPU 执行所等待的时间,也就是任务在调度器里排队的那段空窗期。注意它跟执行时间、响应…

2026/10/10 9:40:55 阅读更多 →
数组下标当哈希表:详解LeetCode 448消失数字的原地标记法

数组下标当哈希表:详解LeetCode 448消失数字的原地标记法

某在线题库的448题《找到所有数组中消失的数字》,几乎每个刷算法题的人都绕不过去。这题本身难度不高,但背后的那个核心思路——把数组下标当成哈希表来用,会辐射到后面一大片题目,属于典型的小题大作用。今天我把这道题从头到尾拆…

2026/10/10 9:40:54 阅读更多 →
Hadoop MapReduce实现KNN鸢尾花分类:三种距离度量与调优指南

Hadoop MapReduce实现KNN鸢尾花分类:三种距离度量与调优指南

简介:这份资源面向计算机、人工智能、大数据等专业的学生与开发者,提供KNN分类算法在Hadoop平台上的MapReduce实现方案,解决传统单机KNN难以处理大规模数据的问题。项目以经典鸢尾花数据集为实验对象,通过花萼长度、宽度与花瓣长度…

2026/10/10 9:39:53 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →