找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 服务器 Linux/BSD 查看内容

[ZZ]systemtap QuickStart

2009-12-20 13:46| 发布者: admin| 查看: 98| 评论: 0|原作者: 仙之剑缘


systemtap: a linux trace/probe tool
Visit the project web site at ,
for documentation and mailing lists for developers and users.
This is free software.
See the COPYING file for redistribution/modification terms.
See the INSTALL file for generic build instructions.
Prerequisites:
- linux kernel with kprobes (mainline 2.6.11 or backport)
- kernel module build environment (kernel-devel rpm)
- kernel debugging information (kernel-debuginfo rpm)
- C compiler (same as what kernel was compiled with)
- elfutils with libdwfl for debugging information parsing
- root privileges
Installation steps:
- Install the kernel development and gcc packages.
- Install any debuginfo packages you need, for kernel and/or userspace.
(Beware of confusion between kernel vs. kernel-debug vs kernel-PAE etc.
variants. Each likely has a corresponding development and debuginfo
package.)
- Install the systemtap package, if one already exists.
Build steps:
- Install the kernel-debuginfo, kernel-devel, gcc and dependent
packages (or see below if you are building your own kernels from source).
- If available, install your distribution's copy of elfutils and its
development headers/libraries.
Or if desired, download an elfutils source release to build in
"bundled mode" (below), and untar it into some new directory.
Or if desired, build elfutils separately one time, and install
it to /usr/local.
See
http://fedorahosted.org/elfutils/
- Download systemtap sources:

http://sources.redhat.com/systemtap/ftp/releases/

http://sources.redhat.com/systemtap/ftp/snapshots/
(or)
git clone git://sources.redhat.com/git/systemtap.git
(or)
http://sources.redhat.com/git/systemtap.git
- Build systemtap normally:
% .../configure [other autoconf options]
Or, with build it with a bundled internal copy of elfutils:
% .../configure --with-elfutils=ELFUTILS-SOURCE-DIR [other autoconf options]
Consider configuring with "--enable-dejazilla" to automatically
contribute to our public test result database.
Consider configuring with "--prefix=DIRECTORY" to specify an
installation directory other than /usr/local. It can be an ordinary
personal directory.
% make all
% sudo make install
To uninstall systemtap:
% sudo make uninstall
- Run systemtap:
To run systemtap after installation, add $prefix/bin to your $PATH, or
refer to $prefix/bin/stap directly. If you keep your build tree
around, you can also use the "stap" binary there.
Some samples should be available under $prefix/share/doc/systemtap/examples.
Normally, run "stap" as root. If desired, create "stapdev" and
"stapusr" entries in /etc/groups. Any users in "stapdev" will be
able to run systemtap as if with root privileges. Users in "stapusr"
can only launch (with "staprun") pre-compiled probe modules (created
by "stap -p4 ...") that a system administrator copied under
/lib/modules/`uname -r`/systemtap.
To run the full test suite from the build tree.
% sudo make installcheck
Tips:
- By default, systemtap looks for the debug info in these locations:
/boot/vmlinux-`uname -r`
/usr/lib/debug/lib/modules/`uname -r`/vmlinux
/lib/modules/`uname -r`/vmlinux
/lib/modules/`uname -r`/build/vmlinux
Building a kernel.org kernel:
- Build the kernel using your normal procedures. Enable
CONFIG_DEBUG_INFO, CONFIG_KPROBES, CONFIG_RELAY, CONFIG_DEBUG_FS,
CONFIG_MODULES, CONFIG_MODULES_UNLOAD
- % make modules_install install headers_install
- Boot into the kernel.
- If you wish to leave the kernel build tree in place, simply run
% stap -r /path/to/kernel/build/tree [...]
You're done.
- Or else, if you wish to install the kernel build/debuginfo data into
a place where systemtap will find it without the "-r" option:
% ln -s /path/to/kernel/build/tree /lib/modules/RELEASE/build





最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 05:25 , Processed in 0.153078 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部