linux-kernel - 用于生产服务器的 Systemtap

标签 linux-kernel systemtap

我想使用 systemtap 从远程访问中提取 Linux 生产服务器的详细信息。对此我有一些疑问:

  1. Linux 生产服务器和 Linux 开发服务器是否需要使用相同的内核。如果不需要,如何添加对此的支持?
  2. 生产服务器的最低要求是什么?是否需要使用debuginfo编译生产服务器的内核?
  3. 如何让某个特定组中的用户能够运行 stap 脚本?

最佳答案

生产服务器和 Linux 开发服务器上运行的内核不需要相同。 SystemTap 初学者指南描述了如何进行交叉编译,其中一个内核版本的检测是在当前运行不同内核版本的计算机上构建的。对此进行了描述:

http://sourceware.org/systemtap/SystemTap_Beginners_Guide/cross-compiling.html

生产服务器只需要 systemtap-runtime 包。使用交叉编译方式时,生产服务器不需要安装kernel-devel或kernel-debuginfo。

有 stapusr 和 stapdev 组允许人们运行脚本。 stapusr 允许运行/lib/modules/uname -r/systemtap 目录中的现有脚本(可能是运行交叉编译的 systemtap 脚本时需要的)。 stapdev 允许编译脚本。

stapusr 和 stapdev 组的描述如下:

http://sourceware.org/systemtap/SystemTap_Beginners_Guide/using-usage.html

关于linux-kernel - 用于生产服务器的 Systemtap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6248036/

相关文章:

linux - 我应该在使用 `gpio_free` 返回的 `gpio_desc` 之前使用 `gpio_to_desc` 吗?

linux spi驱动配置

systemtap - 在 systemtap 中,如何在用户空间进程中捕获函数的返回?

linux - Systemtap 脚本到 C 代码的转换和编译

linux-kernel - 为什么这段代码会死锁?

c - 使用 Eclipse CDT 调试 Linux 内核时出现 “No source available 0x”

memory-management - 进程虚拟地址空间和内核地址空间?如何?

Linux 运行内核探测 systemtap 脚本失败,出现语义错误 : no match"

ubuntu - kprobes 在 Ubuntu 中不起作用