systemtap

systemtap脚本模拟IO错误失败
systemtap

systemtap脚本模拟IO错误失败

我试图使用以下 systemtap 脚本来模拟卷的特定扇区上的读/写错误 global error_sector_start global error_sector_end global error_major global error_minor global error_type probe begin { error_sector_start = strtol(@1, 10) error_sector_end = strtol(@2, 10) error_major = strtol(@3, 10) ...

Admin

Red Hat systemtap nettop 显示 swapper/0 进程
systemtap

Red Hat systemtap nettop 显示 swapper/0 进程

我正在分析主机的网络性能,并且使用 SystemTap 的 nettop.stp 示例/usr/share/systemtap/examples/network/nettoqp.stp。我注意到它包括交换器进程和 kworker 内核线程的网络活动。为什么 pid 0 或内核线程会执行网络 I/O?看起来很奇怪。难道我们正在接收数据,但没有应用程序需要它 - 多播,也许,不是发往该主机的? 我在 RHEL7 机器上运行它,但我注意到我的 Fedora 37 笔记本电脑上有 pid 0 数据包。 感谢您提供任何线索。这是一些示例输出: PID UID ...

Admin

加载模块时 Systemtap 探测内核模块功能
systemtap

加载模块时 Systemtap 探测内核模块功能

如何在加载模块时在内核模块函数上使用 Systemtap 探针。我正在尝试打印正在加载的特定模块所调用的函数。假设我有一个hello.ko未加载的内核模块。现在我想跟踪hello_init()该模块的函数。我尝试使用以下 Systemtap 脚本,但它不起作用。 命令: stap test10.stp -c "modprobe hello"--> 没有打印任何内容 系统tap脚本: #!/usr/bin/env stap global traces probe module("hello").function("hello_init") { ...

Admin

systemtap 打印进程的所有内核函数
systemtap

systemtap 打印进程的所有内核函数

a.out当进程进入内核模式时,如何打印与进程关联的所有内核函数。 IE;我想过滤掉特定 pid/execname 的内核函数。以下是我创建的一个脚本,用于跟踪与进程在内核模式下执行时stap相关的内核函数。这对我来说永远不会成功,我想这是由于试图跟踪的mm符号量所致。stap root@test:~/systemtap# cat test9.stp #! /usr/bin/env stap global traces probe kernel.function("*@mm/*.c") { traces[pid(), pexecname(), bac...

Admin

Systemtap 无法解析探测点,尽管它显示在探测列表中
systemtap

Systemtap 无法解析探测点,尽管它显示在探测列表中

我正在尝试使用 systemtap 调试 netfilter synproxy 模块。 这是我试图添加的探测点。 # stap -l 'module("ipt_SYNPROXY").statement("*")' | grep send_client_synack module("ipt_SYNPROXY").statement("synproxy_send_client_synack@net/ipv4/netfilter/ipt_SYNPROXY.c:72") 这就是 stap 脚本的样子 probe module("ipt_SYNPROXY")...

Admin

使用 Systemtap 探测获取 Linux 中每个读写操作的字节虚拟地址位置
systemtap

使用 Systemtap 探测获取 Linux 中每个读写操作的字节虚拟地址位置

使用 Systemtap 探测工具,我通过探测 syscall.read 和 syscall.read.return 函数获得了获取文件读取的字节总数的方法。 syscall.read.return 有 returnval() ,它给出了读取的字节总量。我需要获取每个读写操作的字节虚拟地址。我怎样才能在Linux中使用Systemtap探测工具来实现这一点。 ...

Admin

Systemtap 会导致段错误,为什么?
systemtap

Systemtap 会导致段错误,为什么?

我正在尝试监视系统范围内的库调用。我编写了这个脚本来跟踪库调用libguestfs: probe begin { printf("ok\n") } probe process("/usr/lib64/libguestfs.so.0.471.0").function("*") { print_usyms(ubacktrace()) } 然后,我将其保存为 test.stp 并运行“sudo stap test.stp”。我需要一些使用这些函数调用的进程,以便我可以拦截它们。因此,我使用了一个简单的程序,名为...

Admin

对库函数调用的系统范围监控
systemtap

对库函数调用的系统范围监控

我有一个现代的 Linux 桌面,其中有许多进程同时运行。其中一个进程(我不知道是哪一个)调用some_func流行动态库中的函数some_lib(想想libc或libx11,所以一个很多的进程使用它),我想知道哪个进程执行此操作(理想情况下,有每次调用的堆栈跟踪)。 如何确定哪个进程调用some_lib? 到目前为止我考虑过的选项: 使用ltraceor latrace:有一个ltrace-style 详细列表,列出我感兴趣的函数调用的进程以及哪些参数将是完美的,但ltrace仅适用于单个进程或进程组。我不能只输入ltrace -e some_fu...

Admin