点了下详情系统,CPU 100%。。。

这篇具有很好参考价值的文章主要介绍了点了下详情系统,CPU 100%。。。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:玛奇玛
链接:https://juejin.cn/post/7233307834456129593

又是一个百无聊赖的早晨,我在快乐地摸鱼,工作群响了:离线系统登录不上了。我第一反应是不科学啊,系统已经很久改动过了...赶紧上生产环境看看,CPU高达1200%。接着又是熟练地敲出那几行排查CPU过高的命令:

top -H -p  pid 查看java占用率最高的几条线程
jstack pid >  xxx.txt   打印线程快照
jmap -heap pid   查看堆内存情况

推荐一个开源免费的 Spring Boot 实战项目:

https://github.com/javastacks/spring-boot-best-practice

点了下详情系统,CPU 100%。。。

点了下详情系统,CPU 100%。。。

点了下详情系统,CPU 100%。。。

看这玩意啥都看不出来,感觉是系统对象没有释放,在疯狂GC,但是因为FULL GC的时候已经STW了,所以无法查看到底是哪个线程出了问题。然后过了10分钟系统突然又好了....堵塞的操作已经完成,gc能正常回收了。 然后过了两分钟又卡死了,我先重启了系统,后面再分析分析。

等系统没什么人用的时候,我再试着重现一下问题,打开系统一顿乱点,结果是点开某个功能的详情时系统卡住了,CPU又飚上去了,喜闻乐见~问题定位到了,再实锤一下之前是不是这个问题,我看了一下localhost_access_log日志发现,确实是这个接口卡了一千多秒。

点了下详情系统,CPU 100%。。。

因为离线没什么人使用,所以问题过了很久再暴露出来,看了一下代码,主要是业务逻辑问题,有个参数没传进去,导致sql要查很久,查到了几百万的数据,gc也无法回收。

复盘

一开始我以为是某个接口调了很多次并发太高导致的,没想到点一下详情系统就挂了。。我们可以看到CPU在GC回收的时候STW,是没有线程能占用到CPU的,所以top -H -p pid 只能看到CPU全被GC线程占用了。如果是某个接口并发太高导致的,我们可以看jstack线程快照,里面是会有这个接口在执行的记录。

还有一个问题就是说系统GC卡了10-20分钟,却没有报OOM,还是一直在堵塞状态,后面还正常了一小会,这个是需要看堆内存的情况..因为比较难排查所以只是通过现象知道GC还是可以回收一点点垃圾的

总结

1、CPU100%的时候可以打印线程快照jstack pid,查看是哪个线程占用了CPU,一般都是某个业务线程阻塞无法进行GC回收导致。

2、可以查看localhost_access_log查看系统接口用时,一般用时很久的都是有问题的接口。

3、记得看业务代码参数有没有漏传,如果漏传参数可能会导致全表扫描直接卡死系统。

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!文章来源地址https://www.toymoban.com/news/detail-693296.html

到了这里,关于点了下详情系统,CPU 100%。。。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫小白-如何调试列表页链接与详情链接不一样并三种方式js逆向解决AES-ECB

    一、网站分析 三年前的案例,我的原始文章 网站 ,如图我们直接点击标题进入到详情页,链接会发生跳转,且与我们在详情看到的链接,与在列表页看到的链接完全不一样,如果拿列表页的链接直接新建标签页打开的话,详情页也是403, 而只有触发点击的模式才能拿看到真

    2024年02月15日
    浏览(31)
  • 生产问题(十四)K8S抢占CPU导致数据库链接池打爆

            线上一天出现了两次数据库连接失败的大量报错,一开始以为是数据库的问题,但是想了想如果是数据库的问题,应该会有大量的应用问题         具体分析之后,发现其实是容器cpu出现了Throttled,导致大量线程阻塞         既然出现了报错,又没有发布,先

    2024年01月25日
    浏览(81)
  • 体验了下科大讯飞版ChatGPT,厉害了!

    前几天科大讯飞的星火认知大模型发布了,我刚好有朋友在科大讯飞工作,于是就第一时间体验了一波。 一番体验下来确实比我预想的效果要好,没想到国产模型的效果还不错,我试了很多方面,比如通用常识功能、写作功能、学习能力,当然作为一个程序员,我测试最多的

    2024年02月05日
    浏览(32)
  • 【100个 Unity实用技能】☀️ | UGUI Text中加入超链接文本,可直接点击跳转

    老规矩,先介绍一下 Unity 的科普小知识: Unity 是 实时3D互动内容创作和运营平台 。 包括 游戏开发 、 美术 、 建筑 、 汽车设计 、 影视 在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和

    2024年02月08日
    浏览(40)
  • 信号与系统 第二版pdf 作者:奥本海姆 翻译:刘树棠

    链接:https://pan.baidu.com/s/1hRxta5L7Twjqa0gHMg7gdw?pwd=18bq 提取码:18bq B站英文课程: https://www.bilibili.com/video/BV1LB4y1g7gX?vd_source=30f72aa1e2cf933e8b0de8569e0e3154 网络资源,侵删

    2024年02月11日
    浏览(35)
  • 电脑无法正常关机?点了关机又会自动重启

    “真·木马”         相信不少朋友遇到过 电脑关机自动重启 现象,一点关机,但随后电脑有会进入重启状态,就是一直不会停,属实是很难崩。 目录 一、问题症状 二、问题原因 三、解决方案 方法一: 1.关闭系统发生错误时电脑自动重启的设置 2.注册表数据修改 3.确认设

    2024年02月09日
    浏览(41)
  • linux--top命令查看系统所有详情

    Linux系统可以通过 top 命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。 一、top命令的第一行“top - 19:56:47 up 39 min, 3 users, load average: 0.00, 0.00, 0.00”显示的内容依

    2024年02月16日
    浏览(38)
  • 「前端代码简洁之路」后台系统之详情页设计

    我就是被迷的那双眼。有时候需求来了,用熟悉的套路进行开发,确实很节省时间也能保证功能的稳定,但是这些开发的惯性无形中阻碍了我对技术的探索。 我一直想改造详情页,解放重复功能开发的劳动力,但是详情页一眼望都是内容平铺,好像并没有什么可做的代码设计

    2024年02月06日
    浏览(35)
  • this.$router.push点了后hash地址改变了,页面却不跳转

    今天在写代码的时候,爆出了一个问题,在我使用this.$router.push的时候,hash地址改变了,但是页面却不发生跳转。 地址从admin跳转到了login后,仍然没有发生改变  van-button type=\\\"success\\\" class=\\\"\\\" @click=\\\"reset\\\"重置/van-button   van-button type=\\\"primary\\\" class=\\\"\\\" @click=\\\"login\\\"登录/van-button  给它绑

    2023年04月08日
    浏览(29)
  • 无法定位程序输入点 invalid parameter noinfo noreturn 于动态链接库c: Windows SYSTEM32 MSVCP100.dll 上

    本文错误为在学习PHY6222这款芯片时,点击在线烧录调试工具SocKit_V3.0.3报出的错误 Visual Studio 2010 (VC++ 10.0) 解决 微软官方网址 https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170 在出现这个问题之前,报错为缺少MSVCP100.dll 于是去网上下载然后放在C盘对应文件夹

    2024年02月01日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包