您的位置:首页 > 运维架构 > Linux

Linux Trace Toolkit Viewer 的使用

2011-08-07 19:55 357 查看
待续<<<<<

Linux Trace Toolkit Viewer 的使用

------------------------------------------------------

ref:http://lttng.org/files/lttv-doc/user_guide/

==================================

Linux Trace Toolkit (LTT)能够从内核获得所有的执行信息。

它基于内核工具和高速中继文件系统来从内核空间拷贝信息到用户空间。

Linux Trace Toolkit Viewer (LTTV)是个可视化工具。

- 使用图形模式

$ lttv-gui

------------

- 在/usr/local/lib/lttv/plugins目录下能够看到所有的模块。

获得相应模块的帮助使用:

$ lttv -L /usr/local/lib/lttv/plugins -m textDump --help

-使用LTTV 字符模式

$ lttv -L path/to/lib/plugins -m batchAnalysis -t trace1 -t trace2 ...

$ lttv -L /usr/local/lib/lttv/plugins -m batchAnalysis -t //????? trace1的名字??

$ lttv -L path/to/lib/plugins -m batchAnalysis -s -m textDump -s -t trace

===========?????? ==========

系统配置:

#mkdir /mnt/debugfs

#cp /etc/fstab /etc/fstab.lttng.bkp //备份文件

#echo "debugfs /mnt/debugfs debugfs rw 0 0" >> /etc/fstab

重启,或者,

# mount /mnt/debugfs 激活 debugfs

必须加载LTT模块来控制对用户空间的跟踪。

通过执行如下的命令完成。

modprobe ltt-trace-control

modprobe ltt-marker-control

modprobe ltt-tracer

modprobe ltt-relay

modprobe ipc-trace

modprobe kernel-trace

modprobe mm-trace

modprobe net-trace

modprobe fs-trace

modprobe jbd2-trace

modprobe ext4-trace

modprobe syscall-trace

modprobe trap-trace

modprobe block-trace

#if locking tracing is wanted, uncomment the following

#如果想锁住跟踪,就执行下面的命令

#modprobe lockdep-trace

要得到完全的内核状态的信息(包括所有进程的名字),那么需要加载ltt-statedump模块。

#modprobe ltt-statedump

要在启动时自动完成上面的过程,可以

cp /etc/modules /etc/modules.bkp

echo ltt-trace-control >> /etc/modules

echo ltt-marker-control >> /etc/modules

echo ltt-tracer >> /etc/modules

echo ltt-relay >> /etc/modules

echo ipc-trace >> /etc/modules

echo kernel-trace >> /etc/modules

echo mm-trace >> /etc/modules

echo net-trace >> /etc/modules

echo fs-trace >> /etc/modules

echo jbd2-trace >> /etc/modules

echo ext4-trace >> /etc/modules

echo syscall-trace >> /etc/modules

echo trap-trace >> /etc/modules

#if locking tracing is wanted, uncomment the following

#echo lockdep-trace >> /etc/modules

用户空间的跟踪:

确保内核配置时:

<M> 或 <*> Support logging events from userspace

并且,如果ltt-userspace-event 内核模块作为模块被编译的话,

那么,要加载该模块

#modprobe ltt-userspace-event

Simple userspace tracing is available through

echo "some text to record" > /mnt/debugfs/ltt/write_event

It will appear in the trace under event :

channel : userspace

event name : event

LTTng 和 LTTV的使用

=====使用 图形化的LTTV来控制和分析跟踪:

#ttv-gui

-点击 “tracing Control " 图标(交通灯的图标)

- 输入 root的密码

- 点击“start“, ”stop'...

- 使用字符模式LTTng来控制跟踪:

开始跟踪:

#lttctl -C -w /tmp/trace1 trace1

停止跟踪销毁跟踪通道:

#lttctl -D trace1

更多的细节,查看 lttctl --help

====使用字符模式LTTV

在/usr/local/lib/lttv/plugins 下,有所有的字符和图形模式的插件。

#lttv -m textDump -t /tmp/trace

//执行后,我的终端输出了????

/tmp/trace: No such file or directory

** (process:10813): CRITICAL **: cannot open trace /tmp/trace

/usr/local/bin/lttv: line 15: 10813 段错误 $0.real "$@"

#lttv -m textDump --help //获取帮助

=== 使用“混合”模式跟踪

创建一个跟踪通道,在普通通道上启动lttd, 开始跟踪:

# lttctl -C -w /tmp/trace2 -o channel.kernel.overwrite=1 trace2

Linux Trace Toolkit Trace Control 0.89-05122011

Controlling trace : trace2

lttctl: Creating trace

lttctl_sendop: open /sys/kernel/debug/ltt/control/trace2/channel/kernel/overwrite failed: No such file or directory

Set channel's overwrite mode failed

停止跟踪,在flight recorder channels,销毁跟踪通道:

# lttctl -D -w /tmp/trace2 trace2

=== Flight recorder mode

The flight recorder mode writes data into overwritten buffers for all channels, including control channels, except for the facilities tracefiles. It consists of setting all channels to "overwrite".

The following lttctl commands take a flight recorder trace :

lttctl -C -w /tmp/trace3 -o channel.all.overwrite=1 trace3

...

lttctl -D -w /tmp/trace3 trace3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: