什么是CPU

CPU是整个电脑的核心计算资源,对于一个应用程序来说,CPU是最小执行单元是线程

导致CPU飙高的原因

  1. CPU的上下文切换过多,对于CPU来说,同一个时刻下每个CPU核心只能运行一个线程,如果有多个线程要去被执行怎么办,CPU只能通过上下文切换的方式来执行调度不同的线程,上下文切换需要做两个事情,第一个是保存运行中线程的执行状态,第二个是处于等待中的线程恢复执行,这两个过程需要CPU执行内核相关指令,去实现状态的保存和恢复,如果较多的上下文切换,会占据大量的CPU资源,从而使得CPU无法执行用户进程中的真正指令,导致响应速度下降,在java中文件IO,网络IO,锁等待这些都会造成线程阻塞,而线程阻塞就会导致CPU的上下文切换
  2. CPU资源过度消耗,也就是在程序中创建了大量的线程,或者有线程一直占据CPU资源无法被释放,比如说像死循环,CPU利用率过高之后,导致CPU程序中的线程无法去获得CPU的调度从而影响程序的执行效率,所以既然是这两个问题导致CPU利用率较高,可以通过top命令找到利用率较高的进程,在通过Shift+H找到进程中CPU消耗过高的线程,这里有两种情况,第一种情况CPU利用率过高的线程一直是同一个,也就是线程ID没有变化,说明在程序中存在长期占用CPU没有释放的一个情况,那么这种情况直接通过jstack获得线程Dump日志,定位到线程日志后,就可以找到问题的代码。第二个是CPU利用率过高的线程ID不断变化,那么说明线程创建过多,需要去挑选几个线程ID,通过jstack获得线程Dump中去进行排查,最后有可能定位的结果是程序正常,只是在CPU飙高的那一刻,用户访问量非常大导致系统资源不够,那么这个时候,我们采取的手段是,去增加系统资源

CPU飙高系统反应慢怎么排查?相关推荐

  1. windows linux cpu 抢占式 时间片_阿里技术专家谈:CPU飙高,系统性能问题如何排查?...

    导读:压测时或多或少都收到过CPU或者Load高的告警,如果是单机偶发性的,经常会认为是"宿主机抢占导致的",那事实是否真是如此呢?是什么引起了这些指标的飙高?网络.磁盘还是高并发 ...

  2. CPU飙高,系统性能问题如何排查?

    简介:压测时或多或少都收到过CPU或者Load高的告警,如果是单机偶发性的,经常会认为是"宿主机抢占导致的",那事实是否真是如此呢?是什么引起了这些指标的飙高?网络.磁盘还是高并发 ...

  3. CPU突然飙高系统反应慢,是怎么导致的?有什么办法排查?

    [Java面试]场景面试题CPU突然飙高,系统反应慢怎么排查 面试过程中,场景类的问题更容易检测出一个开发人员的基本能力.这不,有一位小伙伴去阿里面试,第一面就遇到了关于"CPU 飙高系统反 ...

  4. CPU load和CPU使用率飙高,系统性能问题如何排查?

    压测时或多或少都收到过CPU或者Load高的告警,如果是单机偶发性的,经常会认为是"宿主机抢占导致的",那事实是否真是如此呢?是什么引起了这些指标的飙高?网络.磁盘还是高并发?有什 ...

  5. JVM优化之系统CPU飙高和GC频繁

    本文来说下JVM优化之系统CPU飙高和GC频繁 文章目录 概述 Full GC次数过多 CPU过高 某个线程进入WAITING状态 死锁 本文小结 概述 处理过线上问题的同学基本上都会遇到系统突然运行 ...

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

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

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

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

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

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

  9. linux服务器CPU飙高排查

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

  10. 你要偷偷学会排查线上 CPU 飙高的问题,然后惊艳所有人!

    作者 l Hollis 来源 l Hollis(ID:hollischuang) 前段时间我们新上了一个新的应用,因为流量一直不大,集群QPS大概只有5左右,写接口的rt在30ms左右. 因为最近接入 ...

最新文章

  1. 系统架构的过程 浮现式设计
  2. b样条曲面绘制 opengl_3dmax在曲面上如何绘制样条线,都在这里了
  3. .NET Micro Framework常见问题问答
  4. MyEclipse 2013 新功能介绍
  5. LeetCode 06Z字形变换07整数反转
  6. 【如何利用idea提交本地代码到git远程仓库,史上最详细教程,建议收藏!】
  7. 自然语言系列学习之表示学习与知识获取(六)融合实体描述的知识表示和融合实体所在句子的知识表示
  8. 嵌入式系统中看门狗概述。。。
  9. html文档主体的根标签,2 HTML简介标签嵌套和并列关系文档声明
  10. 薅羊毛 Colab使用外部数据的7种方法!
  11. 逻辑斯蒂回归和感知机模型、支持向量机模型对比
  12. Spring操作数据库几十次后就JDBC begin transaction failed
  13. 无法找到音频输入输出设备
  14. 英尺英寸和厘米的换算_英尺米换算(英尺英寸与厘米换算器)
  15. 百词斩不复习_不背单词好用还是百词斩好用?
  16. CoinUp开启GameFi新世界—魔法元世界(MAC)
  17. 设计模式-七大原则(图解一目了然)
  18. 嵌入式linux pam,PAM介绍(一)
  19. 消息队列-beanstalkd
  20. 大公司高级Android工程师技能要求

热门文章

  1. 刚才对着电脑发呆了很久,天马行空想起在B站看到的两句话,感悟颇多,活出一个真正有灵魂的人吧。分享给大家。
  2. 生存分析第四课:Cox Proportional hazards model
  3. python 数组的排列与组合:combinations 与 permutations
  4. animation动画不生效_你可能不知道的Animation动画技巧与细节
  5. git push 遇到的rejected问题
  6. linux 查看vcf文件,转载-VCF格式详解
  7. summernote 工具栏相关
  8. nvm npm exit status 1:乱码
  9. 化合物修饰壳聚糖水凝胶:丙烯酸接枝/聚乙烯醇/温敏淫羊藿苷/醛-亚胺-壳聚糖水凝胶的制备
  10. 【京东商城首页实战4】topbanner制作