|
|
51CTO旗下网站
|
|
移动端

详解进程栈分析的两个命令:Pstack和Starce

今天主要分享两个命令,比较多用来分析进程具体调用,平时排查问题会用到比较多的。

作者:波波说运维来源:今日头条|2019-08-08 09:09

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

 概述

今天主要分享两个命令,比较多用来分析进程具体调用,平时排查问题会用到比较多的。

pstack

pstack用来跟踪进程栈,这个命令在排查进程问题时非常有用,比如我们发现一个服务一直处于work状态(如假死状态,好似死循环),使用这个命令就能轻松定位问题所在;可以在一段时间内,多执行几次pstack,若发现代码栈总是停在同一个位置,那个位置就需要重点关注,很可能就是出问题的地方;

1、安装pstack

  1. yum install *pstack* -y 
详解进程栈分析的两个命令--pstack和starce,值得收藏

2、分析mysql进程

  1. ps -ef|grep mysql 
详解进程栈分析的两个命令--pstack和starce,值得收藏

3、将进程的栈跟踪信息写入文件pstack.log

  1. pstack 2313 >> pstack.log 
  2. pstack 2313 >> pstack.log 
  3. pstack 2313 >> pstack.log 
详解进程栈分析的两个命令--pstack和starce,值得收藏

4、如下所示,可以看到函数调用关系为:_start->__libc_start_main->connection_event_loop->listen_for_connection_event->poll.

详解进程栈分析的两个命令--pstack和starce,值得收藏

strace

strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。

1、安装strace

  1. yum install -y strace 
详解进程栈分析的两个命令--pstack和starce,值得收藏

2、strace分析

  1. strace cat /dev/null 
详解进程栈分析的两个命令--pstack和starce,值得收藏

这里每一行都是一条系统调用,等号左边是系统调用的函数名及其参数,右边是该调用的返回值。 strace 显示这些调用的参数并返回符号形式的值。

strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。

3、跟踪可执行程序

  1. strace -f -F -o ~/straceout.txt myserver 

-f -F选项告诉strace同时跟踪fork和vfork出来的进程,-o选项把所有strace输出写到~/straceout.txt里 面,myserver是要启动和调试的程序。

4、跟踪服务程序

  1. strace -o output.txt -T -tt -e trace=all -p 2313 

跟踪2313进程的所有系统调用(-e trace=all),并统计系统调用的花费时间,以及开始时间(并以可视化的时分秒格式显示),最后将记录结果存在output.txt文件里面。

详解进程栈分析的两个命令--pstack和starce,值得收藏

【编辑推荐】

  1. 用Pandas库实现MySQL数据库的读写
  2. 关于MySQL性能调优你必须了解的15个重要变量
  3. 这些MySQL图形化管理工具你都在用吗?
  4. 资深程序员经典总结:MySQL的并发控制原理
  5. 分享一个 Linux 下的强力 Python 工具
【责任编辑:华轩 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

339人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

662人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Windows Server 2003网络管理员完全手册

本书综合介绍了微软的Windows Server 2003操作系统和微软其他常用应用软件提供的服务,同时融入了作者在Windows网络管理上的多年实际应用经...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客