详解历程栈说明的两个呼吁:Pstack和Starce
概述 本日首要分享两个呼吁,较量多用来说明历程详细挪用,平常排盘查题会用到较量多的。 pstack pstack用来跟踪历程栈,这个呼吁在排查历程题目时很是有效,好比我们发明一个处事一向处于work状态(如假死状态,恰似死轮回),行使这个呼吁就能轻松定位题目地址;可以在一段时刻内,多执行屡次pstack,若发明代码栈老是停在统一个位置,谁人位置就必要重点存眷,很也许就是出题目的处所; 1、安装pstack
2、说明mysql历程
3、将历程的栈跟踪信息写入文件pstack.log
4、如下所示,可以看到函数挪用相关为:_start->__libc_start_main->connection_event_loop->listen_for_connection_event->poll. strace strace常用来跟踪历程执行时的体系挪用和所吸取的信号。 在Linux天下,历程不能直接会见硬件装备,当历程必要会见硬件装备(好比读取磁盘文件,吸取收集数据等等)时,必需由用户态模式切换至内核态模式,通过体系挪用会见硬件装备。strace可以跟踪到一个历程发生的体系挪用,包罗参数,返回值,执行耗损的时刻。 1、安装strace
2、strace说明
这里每一行都是一条体系挪用,等号左边是体系挪用的函数名及其参数,右边是该挪用的返回值。 strace 表现这些挪用的参数并返回标记情势的值。 strace 从内核吸取信息,并且不必要以任何非凡的方法来构建内核。 3、跟踪可执行措施
-f -F选项汇报strace同时跟踪fork和vfork出来的历程,-o选项把全部strace输出写到~/straceout.txt里 面,myserver是要启动和调试的措施。 4、跟踪处事措施
跟踪2313历程的全部体系挪用(-e trace=all),并统计体系挪用的耗费时刻,以及开始时刻(并以可视化的时分秒名目表现),最后将记录功效存在output.txt文件内里。
(编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |