美文网首页
高cpu占用处理方法一

高cpu占用处理方法一

作者: 小墨哈 | 来源:发表于2017-03-15 17:29 被阅读194次

一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。
1.根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。


2.根据PID定位出问题的线程
首先显示线程列表:

ps -mp pid -o THREAD,tid,time

找到了耗时最高的线程28802,占用CPU时间快两个小时了!
3.然后将需要的线程ID转换为16进制格式:

`printf "%x\n" tid`

4.最后打印线程的堆栈信息:

`jstack pid |grep tid -A 60`

找到出现问题的代码了!

总结下排查CPU故障的方法和技巧有哪些:
1、top命令:Linux命令。可以查看实时的CPU使用情况。也可以查看最近一段时间的CPU使用情况。
2、PS命令:Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前CPU使用情况。属于当前状态的采样数据。
3、jstack:Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。
4、pstack:Linux命令。可以查看某个进程的当前线程栈运行情况。

转自:http://www.blogjava.net/hankchen

相关文章

  • 高cpu占用处理方法一

    一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。1.根据top命令,发现PID为2...

  • 高cpu占用处理方法二

    上一篇给出了一种查找高cpu占用问题的方法,这一篇给出的是和上一篇有差别的地方。1.top查看当前系统状况 2.使...

  • 3步定位cpu占比过高或者oom

    jstack检测cpu高步骤一:查看cpu占用高进程 步骤二:查看cpu占用高线程 步骤三:转换线程ID 步骤四:...

  • Linux CPU占用高分析

    1. 按照cpu占用排序,确认cpu占用高的进程 top 确认pid 2. 进入进程,确认cpu占用高的线程 ...

  • 排查线程CPU占用高方法

    1、操作说明 排查过程中涉及到的基础命令参考语法描述,本文档提供的例子都是根据截图里的数字填写的,实际排查需根据命...

  • 2020-06-04 记一次windows下mobaxterm开

    任务管理器看到 WMI命令行应用程序 CPU占用高, mobaxterm CPU占用高 在 mobaxterm ...

  • 线上问题排查基本思路

    cpu占用过高排查思路 1、top查看占用cpu高的进程 pid2、top -Hp pid 查看进程中占用cpu过...

  • CPU占用时间是指光驱读取或刻写数据时的CPU占用率

    CPU占用时间。CPU占用时间是指光驱读取或刻写数据时的CPU占用率。占用时间越少,表示光驱处理大量数据的能力越强...

  • 排查java-CPU使用率高的问题

    记录一次线上排查CPU使用高的问题 使用top命令找到占用CPU高的进程PID 显示线程列表 使用 找到占用CPU...

  • 处理php-fpm高CPU占用

    由于可能涉及到私密信息,这里就不放图了。 具体现象有: CPU占用高:使用top命令观察到CPU用户态占用特别高,...

网友评论

      本文标题:高cpu占用处理方法一

      本文链接:https://www.haomeiwen.com/subject/yjxmgttx.html