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=https://www.weikeam.com/shuma/0
2 10:54:50.462603110 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=https://www.weikeam.com/shuma/0
3 10:54:50.462729565 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=https://www.weikeam.com/shuma/0
4 10:54:50.462859521 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=https://www.weikeam.com/shuma/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=https://www.weikeam.com/shuma/0
推荐阅读
- CentOS 6如何修改磁盘配额限制
- Linux安装使用压缩工具7-zip的步骤
- Linux系统中Logrotate工具用法汇总
- Linux如何提高大文件的拷贝效率
- Ubuntu vi使用方向键出错如何解决?
- Linux全自动安装操作实例
- 如何配置Kickstart脚本
- RedHat Linux 5无法使用ifconfig怎么办?
- 买什么牌子电饭锅质量最好? 电饭锅什么牌子质量好,电饭锅如何选购
- 法律如何脱离父母关系