线上系统 ,多线程程序,如何排查某个线程CPU资源消耗过高的

牛不才 2020-04-08 11:20:36
如题
使用GDB调试是不可以的。
通过ps pstree 还有top这些命令,能找到那个线程。
但是如何查看它的运行堆栈呢?
...全文
265 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
你是我的菜菜 2020-04-09
  • 打赏
  • 举报
回复
不用命令查看,就记日志啊
smwhotjay 2020-04-09
  • 打赏
  • 举报
回复

可以log一下每个线程循环一次的耗时。
akari10032 2020-04-08
  • 打赏
  • 举报
回复
pstack命令可以打印堆栈,但是只能用在32位程序上且编译时要加-g
你是我的菜菜 2020-04-08
  • 打赏
  • 举报
回复
是不是需要仿真调试器
牛不才 2020-04-08
  • 打赏
  • 举报
回复
引用 3 楼 A-Gamer 的回复:
你是不是调试嵌入式程序,查看运行时堆栈,比如用trace32调试,加断点看堆栈
不是嵌入式程序,是服务端的程序,在不调试的情况下,查找哪块资源消耗高
你是我的菜菜 2020-04-08
  • 打赏
  • 举报
回复
你是不是调试嵌入式程序,查看运行时堆栈,比如用trace32调试,加断点看堆栈

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧