Linux获取系统调用信息

74次阅读
没有评论

共计 603 个字符,预计需要花费 2 分钟才能阅读完成。

Linux获取系统调用信息

获取系统调用信息方式很多,下面是比较简单的几种方式,可以直观的查看每个进程的系统调用数据。

1 sysdig

抓取系统调用

# 每一分钟采集一个文件,会保留5个采集文件,采集的是系统全部数据
sysdig -G 60 -W 5 -w dump_0323.scap 
# 采集某个容器的系统调用:jolly_gates是容器名称,-w指定文件n sysdig container.name=jolly_gates -w dump_0323_19.scapn 

读取抓取的系统调用数据

 # 读取数据,grep -v反选
sysdig -r dump_0323_19.scap | grep -v tail | grep -v mysqld

2 strace

 # strace指定进程-p, -o指定文件
strace -p PID -o 1.txt

3 系统trace debug

cd /sys/kernel/debug/tracing/
ls

linux3.10:

Linux获取系统调用信息

linux4.18:

Linux获取系统调用信息这里面的envents文件代表可以监控的类型,包括tcp、kvm、系统调用等

Linux获取系统调用信息该目录下及其子目录下都有一个enable文件,只需要

 echo 1 > enable

在完成相应操作后。

 echo 0 > enable

这时可以在/sys/kernel/debug/tracing/trace文件中查看到采集的数据。

而该目录下的set_envent_pid文件中,可以放入特定进程号,这样就可以只抓特定进程的数据。

正文完
 
landery
版权声明:本站原创文章,由 landery 2023-05-24发表,共计603字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)