一,线上cpu飙升很高怎么排查?
1.通过top命令或者htop也可以看到哪些pid(进程)的cpu使用率比较高,比如pid=2266这个进程跑java服务占用百分之70的cpu.
2.如果发现当前进程pid占用较高,你就可以使用 top -p 2266 ,输出当前进程,如果想看当前进程下的线程哪个占用cpu比较高,可以使用命令 top -H -p 2266 查看. 假设 发现线程 2287占用cpu很高
3.使用printf '%x' 2287 , 如果输出是: 8ef
4. 使用 jstack 2266 > 2266.txt ,即输出到一个文件上面.
5.文件里面搜索 8ef, 例如:
6.去查找代码,例如:
,最终发现是个死循环(whlie(true))
二.线上环境的JVM都设置多大?
三.线上Java服务器内存飙升是怎么回事?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)