词条 | LTT |
释义 | 1、概念LTT(Linux Trace Toolkit)是linux下一中用于跟踪系统详细运行状态和流程的重要工具,它可以跟踪记录系统中的特定事件。这些事件包括: 系统调用的进入和退出 陷阱/中断(Trap / Irq)的进入和退出 进程调度事件 内核定时器 进程管理相关事件:创建 ,唤醒,信号处理等等 文件系统相关事件:Open / Read / Write / Seek / Ioctl 等等 内存管理相关事件:内存分配/释放等 其他事件:IPC / Socket/ 网络 等等 此外 Ltt还提供了自定义和记录需要跟踪的事件类型的函数接口。 2、特点LTT通过一个内核模块来监测主要的内核子系统。内核的跟踪模块采集产生的数据,转发给用户空间的守候进程并且记录到磁盘上。 整个过程对系统运行和性能影响很小。许多测试已经证明:这个跟踪系统在不使用的时候,影响几乎可以忽略;即使在一些压力条件下,影响也小于2.5%。 LTT还提供了事件观测工具,用3种不同的格式来分析跟踪的数据(事件图、进程分析、原始事件)。LTT对于系统性能分析是很有用的;对于获取实时或者非实时的任务在内核和用户层面的交互信息也非常有用。它的主要功能如下。 · 调试进程间的同步问题。 · 分析应用程序和内核之间的交互。 · 分析系统对外部输入事件的响应。 · 测量内核为应用程序提供服务的执行时间。 · 测量进程等待较高优先权进程的时间。 · 测量中断处理时间和对系统的影响。 因此,LTT软件工具也比较复杂,一般可以分成3 个部分:内核模块、数据保存和数据分析工具。 3、LTT软件介绍LTT是基于GPL发布的自由软件,它是KarimYaghmour 创建并维护的。 最近正式发布的版本是0.9.5a。对于Linux 2.6 内核,需要使用0.9.6 以上版本,可以使用ltt-0.9.6-pre4.tar. bz2 软件包。软件源代码是按照目录组织分类的,表1 是主要目录的说明。 目 录 说 明 Daemon 跟踪进程(Trace Daemon)的源代码 Examples 各种例子 ExtraScripts 方便LTT使用的脚本 Help 包含HTML帮助文件的目录 LibLTT 包含LTT事件数据库的目录 LibUserTrace 包含用户跟踪库的目录 Patches 包含不同内核补丁的目录 Visualizer 可视化分析工具的源码目录 其余目录 其余文件包括autoconf/automake包,可以简化或者自动编译LTT软件。 4、安装软件工具安装 LTT工具之前要选择适当版本的LTT软件包。对于Linux 2.4 内核比较简单,正式发布的软件包都包含了必要的补丁。对于Linux 2.6 内核,需要0.9.6 以后的版本才能支持。Linux 2.6 内核的LTT 建立过程也有变化。为了使能LTT 和relayfs,必须首先在源代码上打补丁。这些补丁修改代码中相关的地方,然后内核配置界面下使能跟踪支持选项和relayfs文件系统选项。 LTT 在2.6 内核上采用了relayfs文件系统。relayfs用于从内核空间向用户空间高效地转移数据。安装跟踪工具之后,需要先挂接relayfs,然后在给定时间内执行跟踪进程。最新的Linux 2.6 内核版本已经采纳了relayfs文件系统。下载LTT软件包并且解压,编译安装LTT的3 个部分。 $ tar -jxvf ltt-0.9.6-pre4.tar. bz2 (1)编译安装新内核要让内核产生跟踪信息,必须修补内核。在Patches 目录下有以下两个补丁。 $ ls ltt-0.9.6-pre4/Patches ltt-linux-2.6.9-vanilla-041214-2.2.patch relayfs-2.6.9-041124.patch 这2 个补丁分别对应LTT 和relayfs的支持。然而,因为内核不断发展,所以经常需要更新内核补丁。通常可以到扩展【4】取得新版内核补丁。 如果使用的是不同的内核,可以试着按照补丁手工修改内核。最新的Linux 2.6 内核已经支持relayfs,不再需要relayfs 的补丁。修改完内核以后,就可以配置编译内核了。选择“Linux Trace Toolkit support”菜单为“Y”。 在LTT 0.9.6pre2 之前发行的补丁中,可以选择为模块,以动态方式加载跟踪驱动程序。之后的版本完全作为一个子系统实现而不是设备驱动。内核编译安装过程很简单。这个内核选项在系统开发完成以后就可以去掉了,但是建议保留这个可跟踪的内核。将来可以用于跟踪系统现场运行的问题,实际上跟踪系统造成的系统花销很小。 (2)编译安装跟踪监控程序跟踪监控程序负责将数据写入永久性存储设备。存储设备可以是磁盘或者MTD 设备,开发环境下最好是NFS文件系统。跟踪时间越长,存储数据量越大。 在 LTT 源码目录下编译安装跟踪调试程序。将LDFLAGS 的值设置成-static,这样会生成LibUserTrace静态链接库。静态链接可以避免在目标板上再安装额外的库,程序的可移植性好。对于C库仍然使用动态链接方式,不然程序尺寸将大幅度增加。 编译完成之后,将跟踪监控程序以及跟踪辅助命令脚本复制到目标板的根文件系统。 trace 命令脚本是启动跟踪监控程序的最简单方法。也可以直接使用tracedaemon 工具,命令参数要复杂一些。 (3)安装可视化工具可视化工具安装运行在主机上,负责数据的分析显示。它即支持命令行方式,也支持图形方式。图形界面无疑是最直观的数据分析方法。如果准备使用图形接口,系统上必须安装GTK。缺省的情况下,大多数Linux 主机系统都会安装GTK。如果希望通过命令脚本的分析跟踪数据,就要把它当成命令行工具使用。编译源代码,得到可视化工具tracevisualizer,把它和辅助命令脚本安装到主机文件系统目录下,配置相应的路径。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。