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飙高原因排查(有手就行)相关推荐

  1. 面试官:线上服务CPU飙高怎么排查?

    用jstack排查 先执行top,找到CPU占用比较高的进程 jstack 进程id > show.txt 找到进程中CPU占用比较高的线程,线程id转为16进制 到show.txt文件中根据线 ...

  2. CPU 飙高问题排查和解决方法

    摘要 本文档记录了排查 CPU 飙高问题的处理过程和解决方法,从多个方面进行分析和排查. 问题简述 在一个生产环境中发现 CPU 飙高问题,但是无法确定问题的具体原因. 排查方法 使用 jstack ...

  3. oralce load的时候使用触发器会导致load慢吗_一次FGC导致CPU飙高的排查过程

    今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的. 于是去测试服务器看了一下,发现服务器负载很高, ...

  4. 一次FGC导致CPU飙高的排查过程

    今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的. 于是去测试服务器看了一下,发现服务器负载很高, ...

  5. linux服务器cpu飙高问题排查实践记录

    问题描述: 测试环境大量请求出现504错误 1.第一反应上服务器看看资源消耗情况(登陆服务器时出现卡顿) 2.使用top命令查看cpu消耗情况,查看结果如下: 很明显cpu使用率已经满了(两核CPU) ...

  6. json.tojsonstring 导致cpu飙高_阿里调试神器立功了!进程导致Kubernetes节点CPU飙高的排查与解决...

    来源:https://www.cnblogs.com/maxzhang1985/p/12673160.html 一.发现问题 在一次系统上线后,我们发现某几个节点在长时间运行后会出现CPU持续飙升的问 ...

  7. 记一次服务器CPU飙高使用率超过100%原因分析(Arthas)

    文章目录 背景 一.告警分析 二.原因分析 1.找到java进程 2.进入 Arthas 3. 使用 Arthas 找到CPU占用最高的线程 4.定位原因 5.解决方案 总结 背景 某天下午频繁收到预 ...

  8. linux服务器CPU飙高排查

    文章目录 前言 一.第一步 top 二.根据pid查找具体线程 2.根据pid找到16进制 3. 根据进程和线程查找原因 总结 前言 系统cpu飙高,尤其对于后端人员来说,其实应该学会排查,这样也算是 ...

  9. JVM中如何排查CPU飙高的问题

    1.虚拟机对象布局 布局:对象头.实例数据.对齐填充 对象头: Mark Word 8字节,hashcode值.GC分代信息.偏向锁信息:                       Class Po ...

  10. 生产环境10分钟黄金时间快速排障:CPU不定时飙高怎么排查?

    " 1分钟发现-5分钟响应-10分钟恢复,是定义故障处理的时效性目标.在阿里巴巴内部经过多年的实践,这也早已成为各个业务稳定性.基础设施稳定性以及大促保障的重要牵引指标.对于故障,最难的往往 ...

最新文章

  1. UVa11292 - Dragon of Loowater(贪心)
  2. ADPLUS使用配置文件设置断点时无法创建DUMP文件原因分析
  3. Cisco 交換機命名規則
  4. linux7主机名设置,centos7主机名、网络设置
  5. centos7.5 使用报错:用户名 不在 sudoers文件中,此事将被报告。
  6. 求二叉树中节点的最大距离
  7. mysql数据库面试总结(一)
  8. BPDU内容、BPDU中flag位详解、RSTP协议BPDU中的flag位和STP中的BPDU flag位的区别(附图,建议PC观看)
  9. 【原创】运维基础之keepalived
  10. hive查看表中列的信息命令_走近大数据之Hive入门(四、Hive的管理)
  11. 在Nutz中给Druid配置数据库加密
  12. JSP教程第3讲笔记
  13. patran如何看屈曲因子_如何真正有效地改善驼背?
  14. 【读书笔记】《王道论坛计算机考研机试指南》第二章
  15. jenkins pipeline分目录检出多代码库方法
  16. 学习spf记录引发的问题(一)
  17. stm32之蓝牙模块HC-05使用
  18. 如何将已有的阿里巴巴字体库项目添加到自己的项目中
  19. App Store 审核指南(最新)
  20. ASP.NET的图片上传和显示

热门文章

  1. js调用一次函数,中间增加一个内容
  2. 编写c语言程序一般要经过几个步骤,开发一个c语言程序要经过哪四个步骤
  3. IBM Jdk环境启动jboss,出现如下错误:SunX509 KeyManagerFactory not available
  4. 别再问我2020年Android前景如何了,我都回答腻了…
  5. C语言超级搞笑的代码,冷笑话我们程序员也会讲的啊!
  6. 各种说明方法的答题格式_说明文方法答题格式
  7. (图像加密)常用图像置乱算法matlab实现(三)
  8. Candidate是什么
  9. Oracle安装之后电脑变慢
  10. 【Paper笔记】Complement Objective Training