1,执行 top指令 查看当前cpu的整体情况。如下图 31757进程占用cpu最高。

2,执行   top -p 31757 -H 指令,查看当前进程下 各线程占用cpu情况。

3,执行 pstack 31763 指令,查看当前线程的堆栈信息,定位到具体函数。

备注:pstack 是一个shell脚本。

#!/bin/shif test $# -ne 1; thenecho "Usage: `basename $0 .sh` <process-id>" 1>&2exit 1
fiif test ! -r /proc/$1; thenecho "Process $1 not found." 1>&2exit 1
fi# GDB doesn't allow "thread apply all bt" when the process isn't
# threaded; need to peek at the process to determine if that or the
# simpler "bt" should be used.backtrace="bt"
if test -d /proc/$1/task ; then# Newer kernel; has a task/ directory.if test `/bin/ls /proc/$1/task | /usr/bin/wc -l` -gt 1 2>/dev/null ; thenbacktrace="thread apply all bt"fi
elif test -f /proc/$1/maps ; then# Older kernel; go by it loading libpthread.if /bin/grep -e libpthread /proc/$1/maps > /dev/null 2>&1 ; thenbacktrace="thread apply all bt"fi
fiGDB=${GDB:-gdb}# Run GDB, strip out unwanted noise.
# --readnever is no longer used since .gdb_index is now in use.
$GDB --quiet -nx $GDBARGS /proc/$1/exe $1 <<EOF 2>&1 |
set width 0
set height 0
set pagination no
$backtrace
EOF
/bin/sed -n \-e 's/^\((gdb) \)*//' \-e '/^#/p' \-e '/^Thread/p'

c++程序 cpu占用过高排查方法相关推荐

  1. Java代码-CPU占用过高排查思路

    Java代码-CPU占用过高排查思路: 1.top 查看占用cpu过高的进程PID 2.top -Hbp 32048|awk '/java/ && $9>50'  查看进程中占用 ...

  2. cpu 占用过高排查

    最近一段时间 某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快 排查步骤 # 1.使用top 定位到占用CPU高的进程PID top# ...

  3. linux ubuntu systemd-udevd进程 cpu占用过高 解决方法

    ubuntu 18.04 systemd-udevd进程CPU占用特别高,禁用WiFi可以解决,如下: 执行 udevadm monitor ,不断输出如下信息: UDEV [13756.376116 ...

  4. 【linux】oracle数据库cpu占用过高排查方案

    将[%cpu]占用率最高的那条的[PID]复制取出,去数据库执行下面语句,即可查询出是哪条sql语句占导致cpu占用很高 SELECT sql_text FROM v$sqltext a WHERE ...

  5. Linux排查java程序CPU占用过高问题

    项目部署到服务器上之后,偶尔出现CPU被java程序占满的情况. 现在排查问题原因 top 首先查看系统资源占用信息,使用命令 top 发现正在运行的JAVA项目CPU占用率如果很高,那问题肯定出在这 ...

  6. 线上java程序CPU占用过高问题排查

    简要 工作中负责的有一个项目是使用iReport+JasperReport实现的一个打印系统.最近这个线上程序经常无响应,重启后恢复正常,但是时不时还是会出现类似的问题. 最后发现是JasperRep ...

  7. Linux生产环境CPU占用过高排查步骤

    先用top命令找出CPU占比最高的 top CPU占用最高的是java进程,它的 进程ID:3362 ps -ef 或者 jps 进一步定位,得知是怎样的程序 [root@192 ~] ps -ef ...

  8. Linux系统内存占用过高排查方法

    以下以Ubuntu系统为例,内存占用过高可能是因为某个进程或程序占用了过多的内存,您可以按照以下步骤进行排查: 以上是一些基本的排查步骤,它们可以帮助您确定内存占用过高的原因,并采取相应的措施解决问题 ...

  9. cpu 占用过高排查流程

    1.jps 获取Java进程的PID. 2.jstack pid >> java.txt 导出CPU占用高进程的线程栈. 3.top -H -p PID 查看对应进程的哪个线程占用CPU过 ...

最新文章

  1. SMS2003 SP3+SQL Server2000 SP4部署(下)
  2. 今晚8点直播 | 详讲NLP的经典应用实践——文本分类
  3. 谷歌浏览器实现按下按键的脚本_chrome浏览器控制台创建js脚本并执行
  4. 如何定义中文转语音的语气
  5. 解决Windows下栈内存过小的问题
  6. postman post gin 接收不到_golang web开发——gin实战入门
  7. JavaScript实现继承的方式,不正确的是:
  8. 刷题总结——xor(ssoj)
  9. PyQt5 QTableView 全部item居中
  10. TED演讲:数据科学家最重要的技能是什么
  11. Python2.7打包的exe文件反编译成py文件
  12. Java实现网页滑动验证与短信验证码案例精析
  13. 七巨头如何抵御抖音?
  14. VM虚拟机局域网组网配置
  15. R语言之空间数据操作
  16. [书目20131223]Android、iPhone、Windows Phone手机网页及网站设计:最佳实践与设计精粹 - 张亚飞...
  17. Informatica 初学日记全
  18. 三菱FX3U与2台台达温控器modbus通讯案例 功能:三菱FX3U与2台台达温控器进行modbus通讯
  19. AAPCS(Procedure Call Standard for the ARM Architecture)笔记
  20. BL2028n,BLE+Wi-Fi双模SOC-物联网iot芯片,上海博通-Matter协议,layou指南

热门文章

  1. 8小时浓度均值即连续8个小时浓度的平均值
  2. MapReduce核心思想
  3. 歌德巴赫猜想数学证明
  4. 淘宝开放平台回顾与前景展望
  5. 钱从哪里来--读书笔记
  6. 蒲公英应用内测使用方法总结
  7. 以太网实习_计算机网络实习心得体会
  8. 矽力杰代理商的增长与模拟信号
  9. BUU Web[33-36]
  10. 自己设计的一个首尾相接js轮播图