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

2016-02-19 08:58 7 1 收藏

下面是个简单易学的Linux如何使用Sysdig排查系统故障教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Linux教程 】

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

捕获结果解释

(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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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系统的性能保持在最佳状态。

来源:http://www.tulaoshi.com/n/20160219/1589017.html

延伸阅读
标签: 电脑入门
      当我们在计算机系统中运行一些容量较大的程序或者游戏时,系统常常会自动弹出“xx内存不能为read或written”的错误提示,遇到这种故障信息时,我们该如何才能将它有效排除,同时确保下次运行容量较大的程序或者游戏时,系统不会再次出现系统内存读写错误呢?事实上,当我们不幸遭遇上面的故障信息时,我们可以...
标签: 电脑入门
1. 恢复IE新窗口打开超级链接功能:在IE中有两种超级链接,一种是在当前页面跳转的链接,另一种是弹出新窗口的链接,对第一种链接也可按住Shift键在新窗口中打开。很多人都遇到过不能在新窗口打开链接的麻烦事儿,这个问题也是因控件注册信息丢失引起的。解决办法是:在运行框中分别执行三个命令:Regsvr32 Actxprxy.dll 、Regsvr32 Shdocvw.dl...
标签: 电脑入门
Win10预览版发布后,很多热爱Windows的用户就甘当微软小白鼠,但是对于微软推送的更新,用户安装后就会出现系统无故崩溃的现象。以彼之道还施彼身。既然是更新惹的祸,就卸载更新了。 通常我们可以在程序的更新管理中卸载更新,不过微软提供了一个更好的方法: 我们只要按住shift键,然后点击开始菜单中的电源按钮然后重启,在开机的时候我们...
标签: windows 操作系统
  无论是普通计算机用户,还是专业计算机系统管理员,在操作计算机的时候都会遇到某些系统错误。很多朋友经常为无法找到出错原因,解决不了故障问题感到困扰。事实上,利用Windows内置的事件查看器,加上适当的网络资源,就可以很好地解决大部分的系统问题。 一、事件查看器可以做什么 微软在以Windows NT为内核的操作...
标签: 电脑入门
现在,网络普及了,视频、语音聊天成了广大网友又一种不可或缺的通讯方式,但是很多的时候,会出现这样或者那样的问题,比如:用QQ语音聊天时对方听不到我的声音,而我能听到对方的声音。 一、QQ软件设置问题。 很多时候,这种情况都是由于QQ软件设置问题导致的,主要是语音视频设置的声音输入、输出设置不正确。下面让我们看看具体如何...

经验教程

154

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部