linux下多线程调试,以及一些常用工具总结(pstack/pstree/stress/perf)

article/2025/10/5 16:46:03

一、多线程调试

使用gdb查看线程信息。

(1)获取主线程id:ps -aux | grep 进程名称,例如:

(2)查看线程信息:gdb attach 线程id,例如

1和3表示进程启动运行依赖的库的信息,2表示里面的三个子线程。

info threads:查看线程信息

bt:查看当前线程堆栈信息

t Id:切换线程,比如

break 行号/函数名,比如

info b:查看线程信息,比如

r:重新运行到断点处

二、实用工具

1、pstack或者gstack:用于打印正在运行的进程的栈跟踪信息,它实际上是gstack的一个链接,而gstack本身是基于gdb封装的shell脚本.。此命令可显示每个进程的栈跟踪。如图

2、pstree -p 进程id:以树形结构显示进程内部线程的关系,如图

3、stress:压测工具,一般用来压测cpu和内存

stree -c num:产生 num个进程,每个进程都反复不停的计算随机数的平方根;

stress --vm 2 --vm-bytes 300M --vm-keep:产生2个进程,每个进程消耗300M内存,一直占用。

4、perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找.

常用命令:perf top -g -p id:动态显示进程函数耗cpu情况,降序排名

5、top -H -p pid:动态显示进程内部各线程的cpu、mem使用率,比如


http://chatgpt.dhexx.cn/article/tT4wJAiI.shtml

相关文章

Linux 下的 pstack 工具安装及简单应用

作者 | JiekeXu 来源 | JiekeXu之路(ID: JiekeXu_IT) 转载请联系授权 | (微信ID:xxq1426321293) 大家好,我是 JiekeXu,很高兴又和大家见面了,今天分享下 Linux 下的 pstack 工具安装及简单应用。本文首发于微信公众号【…

pstack工具查看线程堆栈的方法

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> pstack是Linux下查看运行线程堆栈的工具,本质是一个shell脚本。 # 1.pstack工具的安装   很多时候pstack和gdb是一块安装的。但是在一些Lin…

TCP 的 NACK 与 SACK

可靠传输,一旦丢包,必然 HoL blocking,NACK 和 SACK 必须二选一驱动重传: NACK:receiver 主动通告没有收到的报文,sender 收到后重传。 SACK:receiver 主动通告收到的报文,sender …

Linux常用命令——pstack命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) pstack 显示每个进程的栈跟踪 补充说明 pstack命令可显示每个进程的栈跟踪。pstack命令必须由相应进程的属主或root运行。可以使用pstack来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的PID。…

【Linux】程序卡死、失败位置|pstack和starce看进程调用|分析耗时函数

目录 即看即用 1,starce 2,pstack 查找进程卡死原因的工具 starce pstack 利用pstack 和 strace分析程序在哪里耗时? 即看即用 区别: 使用 pstack 获得的进程堆栈是程序的静态信息,而使用 strace 可以获得程序的动态信息&#xff0c…

详解命令-pstack

pstack命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。 实例 pstree以树结构显示进程 pstree -p work | grep ad sshd(22669)---bash(22670)---ad_preproc…

pstack/gstack

pstack是一个shell脚本,用于打印正在运行的进程的栈跟踪信息,它实际上是gstack的一个链接,而gstack本身是基于gdb封装的shell脚本.。此命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程…

linux命令-- pstack命令(跟踪进程栈)

pstack是一个shell脚本,用于打印正在运行的进程的栈跟踪信息,它实际上是gstack的一个链接,而gstack本身是基于gdb封装的shell脚本.。此命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程…

pstack使用和原理

前言:   最近小组在组织<<深入剖析Nginx>>的读书会, 里面作者提到了pstack这个工具. 之前写JAVA程序, 对jstack这个工具, 非常的喜欢, 觉得很有用. 于是想比较下pstack和jstack的异同.   和jstack一样, pstack亦能展现进程的线程堆栈快照, 非常方便验证和性能…

RDMA RC UC UD

RC:面向连接的可靠服务 UC:面向连接的不可靠服务 UD:面向数据报的不可靠服务 面向连接 vs 面向数据报 相同点&#xff1a;两者的通信均包括双方QP对的参与 不同点&#xff1a;面向连接的通信若有N个节点与之通信&#xff0c;本机需要N个QP对&#xff1b; 面向数据报的通信…

WiFi 芯片原厂、模组厂 一文看懂IOT WiFi选择

一&#xff1a;国内常用WiFi原厂 瑞昱 RTL8710、乐鑫 ESP8266、德州仪器 TI cc3200、紫光展锐RDA5981、新干线NL6621、联发科 MT7681、高通 QCA4004。 博通Broadcom Corporation 博通是Wi-Fi芯片一哥&#xff0c;作为领先的半导体厂商&#xff0c;博通在无线领域的优势有目共睹…

51单片机系列--AD/DA

介绍 AD&#xff08;Analog to Digital&#xff09;&#xff1a;模拟-数字转换&#xff0c;将模拟信号转换为计算机可操作的数字信号 DA&#xff08;Digital to Analog&#xff09;&#xff1a;数字-模拟转换&#xff0c;将计算机输出的数字信号转换为模拟信号 计算机系统是一…

RDA5981开发环境安装

满满的到处是坑~~ 一&#xff1a;Keil MDK 安装 1.安装KEIL MDK 5.24a版本以及破解。 2.添加环境变量&#xff1a;C:\Keil_v5\ARM\ARMCC\bin 二&#xff1a;GCC-ARM交叉编译安装 1.从 https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads 下载最新版本 win7…

8259A简介

文章目录 1中断简介1.1中断1.2禁止中断与中断屏蔽1.3中断嵌套1.4中断类型号和中断向量表 2,8259A简介2.1 8259A介绍2.2 8259A内部结构2.3 8259A引脚2.3.1 与CPU相连的引脚2.3.2 与外设相连的引脚 2.4 8259a可编程寄存器 1中断简介 1.1中断 定义&#xff1a;CPU暂停当前程序的…

RTL8201-RMII电路

本文分享一下RTL8201如何用作RMII电路&#xff0c;无需外部晶体&#xff0c;时钟由主芯片产生。 RTL8201是常用的百兆电流型PHY&#xff0c;支持端口自动翻转&#xff08;AUTO MDIX&#xff09;&#xff0c;如下框图 RMII相对MII来说&#xff0c;连接线更少&#xff0c;MII需要…

RDMA 、RoCE 、IB 、TCP、Ethernet

ROCE ROCE&#xff08;Remote Direct Memory Access over Converged Ethernet&#xff09;是一种网络技术&#xff0c;它结合了RDMA&#xff08;远程直接内存访问&#xff09;和以太网交换机的特性。ROCE允许主机之间通过以太网进行高效的直接内存访问&#xff0c;从而提供低延…

RTD2785T RTD2785R 2K eDP屏驱动芯片介绍

RTD2785T 支持VGA2HDMI2DP转eDP&LVDS 2K分辨率 支持按键菜单和Uart串口通信&#xff0c;用于工控MCU通过uart指令调节参数 文章转载&#xff1a; RTD2785T 2HDMI2DP转eDP&LVDS 2K方案设计-易显方案设计 (rtddisplay.com)

【RDMA】15. RDMA之RoCE Soft-RoCE

【RDMA】RDMA 学习资料总目录_bandaoyu的笔记-CSDN博客SavirRDMA 分享1. RDMA概述https://blog.csdn.net/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https://blog.csdn.net/bandaoyu/article/details/1128613993…

Uva509 RAID

我在这题卡了一天&#xff0c;心态有点小崩。不过最后AC的时候还是很开心的。 坑点&#xff1a;1.注意当两个及以上disc无法读取时&#xff0c;输入不合法。 2.当校验结果与预期ans不同时&#xff0c;输入不合法。 其它都为合法情况。 当合法时&#xff0c;校验块不能作为数据…

百度dueros人工智能-RDA5981(R01开发板)-学习心得-安装SDK(dueros的MbedOS系统)

R01开发板的代码及功能测试需要安装SDK才能正常测试,我们需要了解一点MbedOS系统的基本知识及R01开放板的硬件知识才能开始安装SDK的工作。 1.Mbed OS基础知识 Mbed OS是一个开放源码操作系统,专门用于为物联网(IoT)设备设计的ARM微控制器的平台:需要连接到互联网的低功率、…