linux cpu飙高原因排查(有手就行)
cpu飙高是很常见的线上问题,这都不会的话,属实有点拉跨
兄弟萌不用慌,来我教你一套连招
先来个项目,整个api,到时候我们请求/cpu/{count}就能手动拉高cpu,机智鬼~
@GetMapping("/cpu/{count}")public long cpuTest(@PathVariable("count") long count) {long number = 0;for (int i = 0; i < count; i++) {number++;}return number;}
打包、上传、启动
跑起来了,记住这个进程号 14849
我们先top看看正常情况下的cpu使用率
很合理
模拟线上cpu飙高
我们请求/cpu/{100000000000}接口,把cpu拉起来,同时top观察cpu使用率
直接干到98%,很nice
ok入戏,我们现在线上出问题了,cpu一直很高,老大叫你找找原因,开始支棱起来
其实我们现在已经知道是谁把cpu拉高了,但还不够细,只知道哪个项目出的问题远远不够,我们应该找到罪魁祸首,到底是哪个方法的多少行导致的问题,这才能让老大直呼内行
先说步骤:
- jps+top 定位应用进程 pid
- top -Hp {pid}找到线程 tid
- 将 tid 转换成十六进制 printf “%x ” {tid}
- 打印堆栈信息 jstack
- 过滤出我们想要的
ok开始排查
进程id已经确定是 14849,下一步我们要找到是哪个线程搞的鬼
top -Hp 14849
很明显是这个14908搞的鬼
转十六进制
打印堆栈
堆栈信息显示是TestController里面的第20行出的幺蛾子,我们进入代码验证
问题不大
破案
撒花
ok我话说完
linux cpu飙高原因排查(有手就行)相关推荐
- 面试官:线上服务CPU飙高怎么排查?
用jstack排查 先执行top,找到CPU占用比较高的进程 jstack 进程id > show.txt 找到进程中CPU占用比较高的线程,线程id转为16进制 到show.txt文件中根据线 ...
- CPU 飙高问题排查和解决方法
摘要 本文档记录了排查 CPU 飙高问题的处理过程和解决方法,从多个方面进行分析和排查. 问题简述 在一个生产环境中发现 CPU 飙高问题,但是无法确定问题的具体原因. 排查方法 使用 jstack ...
- oralce load的时候使用触发器会导致load慢吗_一次FGC导致CPU飙高的排查过程
今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的. 于是去测试服务器看了一下,发现服务器负载很高, ...
- 一次FGC导致CPU飙高的排查过程
今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的. 于是去测试服务器看了一下,发现服务器负载很高, ...
- linux服务器cpu飙高问题排查实践记录
问题描述: 测试环境大量请求出现504错误 1.第一反应上服务器看看资源消耗情况(登陆服务器时出现卡顿) 2.使用top命令查看cpu消耗情况,查看结果如下: 很明显cpu使用率已经满了(两核CPU) ...
- json.tojsonstring 导致cpu飙高_阿里调试神器立功了!进程导致Kubernetes节点CPU飙高的排查与解决...
来源:https://www.cnblogs.com/maxzhang1985/p/12673160.html 一.发现问题 在一次系统上线后,我们发现某几个节点在长时间运行后会出现CPU持续飙升的问 ...
- 记一次服务器CPU飙高使用率超过100%原因分析(Arthas)
文章目录 背景 一.告警分析 二.原因分析 1.找到java进程 2.进入 Arthas 3. 使用 Arthas 找到CPU占用最高的线程 4.定位原因 5.解决方案 总结 背景 某天下午频繁收到预 ...
- linux服务器CPU飙高排查
文章目录 前言 一.第一步 top 二.根据pid查找具体线程 2.根据pid找到16进制 3. 根据进程和线程查找原因 总结 前言 系统cpu飙高,尤其对于后端人员来说,其实应该学会排查,这样也算是 ...
- JVM中如何排查CPU飙高的问题
1.虚拟机对象布局 布局:对象头.实例数据.对齐填充 对象头: Mark Word 8字节,hashcode值.GC分代信息.偏向锁信息: Class Po ...
- 生产环境10分钟黄金时间快速排障:CPU不定时飙高怎么排查?
" 1分钟发现-5分钟响应-10分钟恢复,是定义故障处理的时效性目标.在阿里巴巴内部经过多年的实践,这也早已成为各个业务稳定性.基础设施稳定性以及大促保障的重要牵引指标.对于故障,最难的往往 ...
最新文章
- UVa11292 - Dragon of Loowater(贪心)
- ADPLUS使用配置文件设置断点时无法创建DUMP文件原因分析
- Cisco 交換機命名規則
- linux7主机名设置,centos7主机名、网络设置
- centos7.5 使用报错:用户名 不在 sudoers文件中,此事将被报告。
- 求二叉树中节点的最大距离
- mysql数据库面试总结(一)
- BPDU内容、BPDU中flag位详解、RSTP协议BPDU中的flag位和STP中的BPDU flag位的区别(附图,建议PC观看)
- 【原创】运维基础之keepalived
- hive查看表中列的信息命令_走近大数据之Hive入门(四、Hive的管理)
- 在Nutz中给Druid配置数据库加密
- JSP教程第3讲笔记
- patran如何看屈曲因子_如何真正有效地改善驼背?
- 【读书笔记】《王道论坛计算机考研机试指南》第二章
- jenkins pipeline分目录检出多代码库方法
- 学习spf记录引发的问题(一)
- stm32之蓝牙模块HC-05使用
- 如何将已有的阿里巴巴字体库项目添加到自己的项目中
- App Store 审核指南(最新)
- ASP.NET的图片上传和显示
热门文章
- js调用一次函数,中间增加一个内容
- 编写c语言程序一般要经过几个步骤,开发一个c语言程序要经过哪四个步骤
- IBM Jdk环境启动jboss,出现如下错误:SunX509 KeyManagerFactory not available
- 别再问我2020年Android前景如何了,我都回答腻了…
- C语言超级搞笑的代码,冷笑话我们程序员也会讲的啊!
- 各种说明方法的答题格式_说明文方法答题格式
- (图像加密)常用图像置乱算法matlab实现(三)
- Candidate是什么
- Oracle安装之后电脑变慢
- 【Paper笔记】Complement Objective Training