cpu飙高处理步骤

  1. top查找出哪个进程消耗的CPU高(top -c)

  2. top -h -p查找出哪个线程消耗的cpu高(top -h -p pid)

这个命令就能显示刚刚找到的进程的所有线程的资源消耗情况。

  1. printf%x进行pid的进制转换

找到CPU负载高的线程pid 8627, 把这个数字转换成16进制,21B3(10进制转16进制,用linux命令: printf %x 8627)

  1. jstack记录进程的堆栈信息

执行jstack -l pid,拿到进程的线程dump文件。这个命令会打出这个进程的所有线程的运行堆栈。

  1. 找出消耗CPU最高的线程信息

搜索“21B3”,就是搜一下16进制显示的线程id。搜到后,下面的堆栈就是这个线程打出来的。

内存飙高处理步骤

  1. jstat命令查看FGC发生的次数和消耗的时间,次数越多,耗时越长说明存在问题;

Jstat命令可以观察到classloader,compiler,gc相关信息。可以时时监控资源和性能

  1. 连续查看jmap -heap查看老生代的占用情况,变化越大说明程序存在问题;

Jmap命令(jmap [ option ] pid)得到运行java程序的内存分配的详细情况。例如实例个数,大小等

  1. 使用连续的jmap -histo:live命令导出文件,比对加载对象的差异,差异部分一般是发生问题的地方。

GC引起的单核飙高

  1. 单个CPU占用率高,首先从GC查起。

常见SY飙高

1.线程上下文切换频繁

  1. 线程太多

  2. 锁竞争激烈

IO飙高

  1. 如果IO的CPU占用很高,排查涉及到IO的程序,比如把OIO改造成NIO。

抖动问题

原因:字节码转为机器码需要占用CPU时间片,大量的CPU在执行字节码时,导致CPU长期处于高位;

现象:“C2 CompilerThread1”守护进程,“C2 CompilerThread0”守护进程CPU占用率最高;

解决办法:保证编译线程的CPU占比。

CPU飙高和内存飙高等等的一般处理步骤相关推荐

  1. CPU飙高和内存飙高的一般处理步骤

    目录 cpu飙高处理步骤 内存飙高处理步骤 GC引起的单核飙高 常见SY飙高 IO飙高 抖动问题 cpu飙高处理步骤 1. top查找出哪个进程消耗的CPU高(top -c) 2. top -h -p ...

  2. java事务占用内存吗,如何排查java应用中CPU使用率高或内存占用高的问题

    如何排查java应用中CPU使用率高或内存占用高的问题?这类问题的排查步骤基本通用的.现在通过一个具体的例子来说明. 问题描述 最近有个线上项目每天0点过后CPU使用率会上升至200%到300%. 排 ...

  3. mc服务器java占用过大_如何排查java应用中CPU使用率高或内存占用高的问题

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:MnameHZJ my.oschina.net/u/1420452/blog/224 ...

  4. java cpu高_Java中的CPU占用高和内存占用高的问题排查

    下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程.如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下. 1.Java CPU过高的问题排查 举个例 ...

  5. Java吃CPU还是内存_Java中的CPU占用高和内存占用高的问题排查

    下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程.如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下. 1.Java CPU过高的问题排查 举个例 ...

  6. 阿里云Centos 解决挖矿程序:kdevtmpfsi--服务器CPU占用高、内存占用高

    前言 互联网存在很多的漏洞,如果我们使用不当,就会别被别人利用或者是盗取信息.之前在阿里云买的服务器,自己配置了nginx,mysql,redis等服务.由于在某些时候,本地程序开发中需要使用这些服务 ...

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

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

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

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

  9. jvm 崩溃日志设置_记一次JVM疯狂GC导致CPU飙高的问题解决

    背景 线上web服务器不时的出现非常卡的情况,登录服务器top命令发现服务器CPU非常的高,重启tomcat之后CPU恢复正常,半天或者一天之后又会出现同样的问题.解决问题首先要找到问题的爆发点,对于 ...

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

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

最新文章

  1. js插件 webp_(转)让浏览器支持Webp
  2. Ubuntu Server上的LVM配置
  3. 琴弦文字 - wpf行为
  4. mybatis中foreach标签详解
  5. 一个简单易用的图标字体库和CSS框架fontawesome
  6. pythonencode_python的encode和decode误读总结
  7. JavaScript---函数
  8. JavaScript对数组的常见操作
  9. 解决request.getSession().getServletContext().getRealPath(“/“)为null问题
  10. tf.GraphKeys,tf.add_to_collection() 与 tf.get_collection()
  11. recover/panic
  12. spring boot: 组合注解与元注解
  13. 数字单片机的技术发展
  14. 华为android解锁,华为bootloader怎么解锁 华为手机bootloader解锁教程
  15. python导入numpy模块_Python之路-numpy模块
  16. 021—转载-各种数据类型在16位、32位和64位系统下所占字节差异简介
  17. 对接快递100快递管家API之如何实现自动打单
  18. 斐波那契数列——输出斐波那契数列的第n项
  19. 友盟社会化分享+第三方登录 2022.03.28 最新版
  20. sdoi2009 [动态规划 状态压缩DP] 学校食堂

热门文章

  1. 傅立叶级数与傅里叶变换
  2. 支部谈心谈话工作怎么开展?_工作场所“激情”的谈话引发了读书俱乐部期间的热烈聊天
  3. 为什么有符号整型最小值是-32768?
  4. word刷子刷格式_Word文档中用格式刷快速编辑数据格式的方法
  5. Java中 … 三个点是什么意思?
  6. iOS开发学习之大牛们的博客
  7. Linux 下的 MISC 设备驱动
  8. 新型智慧城市投融资经验分享
  9. 端子排延时中间继电器DZS-822/DC110V
  10. 点到直线的距离公式推导