加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

详解历程栈说明的两个呼吁:Pstack和Starce

发布时间:2019-08-10 16:44:54 所属栏目:建站 来源:波波说运维
导读:概述 本日首要分享两个呼吁,较量多用来说明历程详细挪用,平常排盘查题会用到较量多的。 pstack pstack用来跟踪历程栈,这个呼吁在排查历程题目时很是有效,好比我们发明一个处事一向处于work状态(如假死状态,恰似死轮回),行使这个呼吁就能轻松定位题目

 概述

本日首要分享两个呼吁,较量多用来说明历程详细挪用,平常排盘查题会用到较量多的。

详解历程栈说明的两个呼吁:Pstack和Starce

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,值得保藏

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读