Linux如何使用Sysdig排查系统故障 - 万象系统之家

万象系统之家 - 系统光盘下载网站!

当前位置:万象系统之家 > 系统教程 > Linux使用Sysdig排查故障

Linux如何使用Sysdig排查系统故障

时间:2015-02-10 17:54:00 作者:qipeng 来源:万象系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150210/37980.html 手机查看 评论

  Sysdig是一款系统调试工具,能够对系统进行故障排查和监控,在系统故障的时候非常实用,下面小编就给大家介绍下Linux使用Sysdig排除故障的方法,感兴趣的朋友可以来了解下。

 Linux如何使用Sysdig排查系统故障

  在 Linux 上,可使用以下命令来安装 Sysdig:

  curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

  这将把 Sysdig 安装到 rpm 或 deb 系的 Linux 系统。

  捕获系统活动

  实时捕获,结果打印到标准输出:

  sysdig

  将捕获结果保存到文件 system.scap,方便稍后分析:

  sysdig -w system.scap

  捕获指定的事件数 200 并保存到文件:

  sysdig -n 200 -w system.scap

  读取已捕获的文件:

  sysdig -r system.scap

  捕获结果解释

  (1) (2) (3) (4) (5) (6) (7) (8)

  1 10:54:50.462463956 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  2 10:54:50.462603110 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  3 10:54:50.462729565 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  4 10:54:50.462859521 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  5 10:54:50.463206317 0 sysdig (29043) 》 switch next=0 pgft_maj=0 pgft_min=1790 vm_size=35748 vm_rss=7164 vm_swap=0

  6 10:54:50.464246835 0 《NA》 (0) 》 switch next=7 pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  7 10:54:50.464249707 2 《NA》 (0) 》 switch next=8374 pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  8 10:54:50.464255940 0 《NA》 (7) 》 switch next=0 pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  9 10:54:50.464264256 2 《NA》 (8374) 》 switch next=0 pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  10 10:54:50.464358113 2 《NA》 (0) 》 switch next=854(mlnet) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  11 10:54:50.464370099 2 mlnet (854) 《 poll res=0 fds=

  12 10:54:50.464378193 2 mlnet (854) 》 poll fds= timeout=5

  13 10:54:50.464385400 2 mlnet (854) 》 switch next=0 pgft_maj=216 pgft_min=3386 vm_size=162608 vm_rss=12196 vm_swap=2716

  14 10:54:50.464950541 0 《NA》 (0) 》 switch next=1105(memcached) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  15 10:54:50.464954692 0 memcached (1105) 《 epoll_wait res=0

  16 10:54:50.464976007 0 memcached (1105) 》 epoll_wait maxevents=32

  17 10:54:50.464984030 0 memcached (1105) 》 switch next=0 pgft_maj=3 pgft_min=247 vm_size=327412 vm_rss=1860 vm_swap=468

  18 10:54:50.465256687 2 《NA》 (0) 》 switch next=2181(plugin-containe) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  19 10:54:50.465261465 2 plugin-containe (2181) 《 poll res=0 fds=

  20 10:54:50.465297692 2 plugin-containe (2181) 》 getrlimit resource=3(RLIMIT_STACK)

  通过 Sysdig 捕获的结果如上所示,每列的意思分别为:

  事件编号

  时间戳

  CPU 编号

  进程名

  线程 ID

  事件方向,》 为进入事件,《 为退出事件

  事件类型,比如 open、read 等

  事件参数列表

  过滤捕获结果

  在默认情况下,Sysdig 捕获的信息非常多,要从中找到我们感 兴趣的信息,这就需要类似 grep 的过滤功能。

  按字段类别进行过滤:

  sysdig -r system.scap proc.name=sysdig

  这条命令过滤出进程名为 sysdig 的系统事件,结果为:

  1 10:54:50.462463956 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  2 10:54:50.462603110 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  3 10:54:50.462729565 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  4 10:54:50.462859521 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  5 10:54:50.463206317 0 sysdig (29043) 》 switch next=0 pgft_maj=0 pgft_min=1790 vm_size=35748 vm_rss=7164 vm_swap=0

  Sysdig 提供包括 fd、process、evt、user、group、syslog 等字段 类别,可通过 sysdig -l 查询。

  除 = 外,Sysdig 的过滤表达式还支持 !=、《、《=、》、》= 及 contains 等比较操作符。

  同时,也可以使用 and、or、not 等布尔操作符。例如:

  sysdig -r system.scap proc.name=sysdig and evt.type=switch

  Chisels

  在 Sysdig 中,chisels 是通过 Lua 编写的脚本,可以用来扩展 Sysdig 的过滤功能。

  比如我们想看读写磁盘文件最频繁的进程,可以使用 topprocs_file 这个 chisels:

  sysdig -c topprocs_file

  结果为:

  Bytes Process

  ------------------------------

  448.36KB mozStorage

  220.38KB perl

  1.69KB tmux

  1.62KB sh

  1.59KB Xorg

  1.30KB urxvtd

  更多 chisels,可通过 sysdig -cl 了解。当然,如果你熟悉 Lua, 那么也可以编写自己的 chisels。

  上面就是Linux使用Sysdig的方法介绍了,通过使用Sysdig命令,及时捕获Linux系统的故障信息,并针对问题进行相关修复,保证Linux系统的性能保持在最佳状态。

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表万象系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版系统!

如侵犯到您的权益,请及时通知我们,我们会及时处理,对系统之家有任何投诉或建议,请与管理员联系. QQ:346231061

Copyright2024 万象系统之家(www.maxdo.tech) 版权所有 沪ICP备2021023961号-5