-
Linux如何使用Sysdig排查系统故障
- 时间:2024-11-23 15:32:20
大家好,今天Win10系统之家小编给大家分享「Linux如何使用Sysdig排查系统故障」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
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系统的性能保持在最佳状态。
以上就是关于「Linux如何使用Sysdig排查系统故障」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
『*文章来♂自Win10系统之家,转载请联系!』
相关文章
-
Sysdig是一款系统调试工具,能够对系统进行故障排查和监控,在系统故障的时候非常实用,下面小编就给大家介绍下Linux使用Sysdig排除故障的方法,感兴趣的朋友可以来了解下。
在Linux上,可使用以下命令来安装Sysdig:
curl-shttps://s3.amazonaws.com/download.draios.com/stable/install... -
Linux系统的时间有时候会不准,不准确的时间会导致日志文件中的时间出现错误,所以准确的时间是很重要的,那么要怎么更改Linux系统的时间呢?下面小编给大家介绍下使用命令行更改Linux系统时间和日期的方法步骤。
问题:在Linux上,我怎样通过命令行来改变日期和时间?
在Linux系统中保持日期和时间的同步是每一个Linux用户和系统管理员的重要责任。很多程... -
我们都知道Linux命令中的rm命令主要用于删除文件,那么rmdir命令又有什么作用呢?下面小编就给大家介绍下Linux命令中rmdir命令的主要功能吧。
rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm-rdir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
1.命令格式:
如果你想要了解Linux服务器的目前状况,那么你就需要知道Linux服务器监控命令,使用Linux服务器监控命令,可以知道当前服务器正在做什么,那么Linux服务器监控命令有哪些呢?随小编一起来了解下吧。
有些Linux发行版会提供GUI程序来进行系统的监控,例如SUSELinux就有一个非常棒而且专业的工具YaST,KDE的KDESystemGuard同样很出色。当然,...
- Linux教程
-
-
操作系统排行榜
更多>> -
- Ghost Win8.1 64位 老机精简专业版 V2023.02
- 【老机专用】Ghost Win8 32位 免费精简版 V2022.01
- 【致敬经典】Ghost Windows8 64位 免激活正式版 V2021.08
- 微软Windows8.1 32位专业版免激活 V2023.05
- Windows11 22H2 (22621.1778) X64 游戏美化版 V2023.06
- Windows11 22H2 (22621.1778) X64 专业精简版 V2023.06
- 笔记本专用 Ghost Win10 64位 专业激活版(适用各种品牌) V2022.08
- GHOST WIN8 X86 稳定专业版(免激活)V2022.07
- Windows8.1 64位 免费激活镜像文件 V2022.07
- Windows 8.1 64位 极速纯净版系统 V2022
-
Linux教程排行榜
更多>> -
- UOS系统怎么获取root管理员权限?
- Deepin Linux系统怎么安装brother打印机驱动并且设置网络打印机?
- UOS系统怎么查找添加连接打印机?UOS系统连接打印机教程
- CentOS系统怎么安装?CentOS Linux详细安装教程
- Linux系统怎么查看电脑的磁盘空间?
- 怎么远程登录Linux CentOS系统?远程登录Linux CentOS系统方法教学
- Linux CentOS系统要怎么安装?Linux CentOS系统安装方法教学
- Deepin系统软件安装位置在哪?Deepin系统软件安装位置介绍
- Deepin系统怎么切换到root用户?Deepin系统切换到root用户方法教程
- Linux是什么?它是哪个国家开发的
- 热门标签
-