作家
登录

性能分析和调试工具:Linux跟踪器之选

作者: 来源: 2018-03-13 12:49:07 阅读 我要评论

沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践!


http://s4.51cto.com/oss/201803/13/fb0cfe498ebba6ccfab4916c12d643f3.jpg-wh_651x-s_2059737113.jpg

Linux 跟踪很神奇!

跟踪器tracer是一个高等的机能分析和调试对象,如不雅你应用过 strace(1) 或者 tcpdump(8),你不该该被它吓到 ... 你应用的就是跟踪器。体系跟踪器能让你看到很多的器械,而不仅是体系调用或者数据包,因为常见的跟踪器都可以跟踪内核或者应用法度榜样的任何器械。

有大年夜量的 Linux 跟踪器可供钠揭捉?择。因为它们中的每个都有一个官方的(或者非官方的)的吉祥物,我们有足够多的选择给孩子们展示。

以下是我对各个跟踪器的评价:

1. ftrace

你爱好应用哪一个呢?

大年夜多半人(开辟者、体系治理员、运维人员、收集靠得住性工程师(SRE)…)是不须要去进修体系跟踪器的底层细节的。以下是你须要去懂得和做的工作:

1. 应用 perf_events 进行 CPU 分析

  1. git clone --depth 1 https://github.com/brendangregg/FlameGraph
  2. perf record -F 99 -a -g -- sleep 30
  3. perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl > perf.svg

Linux 的 perf_events(即 perf,后者是它的敕令)是官方为 Linux 用户预备的跟踪器/分析器。它位于内核源铝闼楝并且保护的异常好(并且如今它的功能还在快速变强)。它一般是经由过程 linux-tools-common 这个包来添加的。

perf 可以做的工作很多,然则,如不雅我只能建议钠揭捉?习个中的一个功能的话,那就是 CPU 分析。固然大年夜技巧角度来说,这并不是事宜“跟踪”,而是采样sampling。最难的部分是获得完全的┞坊和符号,这部分在我的 Linux Profiling at Netflix 中针对 Java 和 Node.js 评论辩论过。

2. 知道它能干什么

正如一位同伙所说的:“你不须要知道 X 光机是若何工作的,但你须要明白的是,如不雅你吞下了一个硬币,X 光机是你的一个选择!”你须要知道应用跟踪器可以或许做什么,是以,如不雅你安营业上确切须要它,你可以今后再去进修它,或者请会应用它的仁攀来做。

简单地说:几乎任何工作都可以经由过程跟踪来懂得它。内部文件体系、TCP/IP 处理过程、设备驱动、应用法度榜样内部情况。浏览我在 lwn.net 上的 ftrace 的文┞仿,也可以去浏览 perf_events 页面,那边有一些跟踪(和分析)才能的示例。

3. 须要一个前端对象

如不雅你要购买一个机能分析对象(有很多公司发卖这类产品),并请求支撑 Linux 跟踪。想要一个直不雅的“点击”界面去探查内核的内部,以及包含一个在不合客栈地位的延迟热力争。就像我在 Monitorama 演讲 中描述的那样。

我创建并开源了我本身的一些前端对象,固然它是基于 CLI 的(不是图形界面的)。如许可以使其它人应用跟踪器更快更轻易。比如,我的 perf-tools,跟踪新过程是如许的:

  1. # ./execsnoop
  2. Tracing exec()s. Ctrl-
     1/4    1 2 3 4 下一页 尾页

      推荐阅读

      如果物联网是答案,那么问题是什么?

    沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践! 在进行物联网采购时,很多企业或组织机构缺点地认为物联网成功有一个标准的应用办法。实际情况倒是,没有最好的物联网>>>详细阅读


    本文标题:性能分析和调试工具:Linux跟踪器之选

    地址:http://www.17bianji.com/lsqh/40662.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)