LTT (Linux Trace Toolkit) 是一个用于跟踪系统详细运行状态和流程的工具,它可以跟踪记录系统中的特定事件。这些事件包括:
系统调用的进入和退出
陷阱/中断(Trap / Irq)的进入和退出
进程调度事件
内核定时器
进程管理相关事件:创建 ,唤醒,信号处理等等
文件系统相关事件:Open / Read / Write / Seek / Ioctl 等等
内存管理相关事件:内存分配/释放等
其他事件:IPC / Socket/ 网络 等等
此外 Ltt还提供了自定义和记录需要跟踪的事件类型的函数接口。
LTT的确是一个很有用的工具,灵活的配合其他工具的使用,如strace,time等等,可以作为分析优化系统的performance的一个可行的途径。
值得一提的是,LTT可以通过设置参数,在特定的时间段,筛选所需要记录的事件类型,还可以按进程ID等选择所跟踪的特定对象,通过合理的配置参数,可以使得其对系统所造成的额外负担减少到一个合理的程度,对系统性能的分析基本不会造成明显的干扰因素。
另外LTT提供的自定义和记录需要跟踪的事件类型的函数接口,也使它有了一些拓展能力,可以用来Debug自己编写的内核模块代码。
LTT跟踪用户空间事件的实现,是通过其内核模块中几个特定的IOCTL接口,由用户空间的一个LIB库将其包装成函数,使得其使用方法与其在内核 模块中自定义和记录事件类型的函数接口相同。应该说这是一个很巧妙的实现办法,不过对其性能个人还是有些怀疑,因为这样一来,对用户空间事件的纪录就需要 经由 用户空间-〉内核空间-〉用户空间 走一趟来实现。
1 概念 1.1 功能 LTT是一个用于跟踪系统详细运行状态和流程的工具,它可以跟踪记录系统中的特定事件。这些事件包括: 系统调用的进入和退出 陷阱/中断(Trap / Irq)的进入和退出 进程调度事件 内核定时器 进程管理相关事件:创建 ,唤醒,信号处理等等 文件系统相关事件:Open / Read / Write / Seek / Ioctl 等等 内存管理相关事
var dailyBox = $('.daily-box-office'), curDate = new Date(), curYear = curDate.getFullYear(), curMonth = curDate.getMonth()+1; dailyBox.find('.month').text('('+curMonth+'月)'); try{ $.a
Orocos LTT in Orocos Installation LTTng Orocos Description of changes Example About the naming of threads TODO WARNING THIS IS A WORK IN PROGRESS. Nothing is included in the main tree yet. Orocos Oroc
http://www.mamicode.com/info-detail-1383535.html http://www.keil.com/support/man/docs/armcc/armcc_chr1359124973698.htm https://github.com/alicerobson/dag
>>提君博客原创 http://www.cnblogs.com/tijun/ << linux 上我用hadoop用户配置好SSH后,运行 ssh ltt3.bg.cn 'jps' 出现这种提示bash: jps: command not found 提君博客原创 其实这种错误一看,就知道是环境变量没有配置好,可奇怪的是,我环境变量配置好好的啊, [hadoop@ltt1 ~]$ jps 13
在 CakePHP 的开发过程中,以问题跟踪系统的形式从社区获得反馈和帮助是极为重要的一部 分。所有 CakePHP 的问题跟踪都托管在 GitHub 上。 报告臭虫 写得好的问题报告都非常有用。下面的步骤可以帮助创建尽可能好的问题报告: 请 搜索 类似的已有问题,并保证别人没有报告你的问题,或者在源代码仓库中还没有得到修复。 请 包括 如何重现问题 的详细说明。这可以是测试用例或代码片段,来展示
运动跟踪概述和资源 通过运动跟踪,您可以跟踪对象的运动,然后将该运动的跟踪数据应用于另一个对象(例如另一个图层或效果控制点)来创建图像和效果在其中跟随运动的合成。您还可以稳定运动,在这种情况下,跟踪数据用来使被跟踪的图层动态化以针对该图层中对象的运动进行补偿。您可以使用表达式将属性链接到跟踪数据,这开拓了广泛的用途。 After Effects 通过将来自某个帧中的选定区域的图像数据与每个后续帧中
当想知道一个进程在做什么事情的时候,可以通过strace命令跟踪一个进程的所有系统调用。 1、运行 php start.php status 能看到workerman相关进程的信息 如下: Hello admin ---------------------------------------GLOBAL STATUS-----------------------------------------
问题内容: 我编写了一个程序来列出命令执行的所有系统调用(例如/ bin / ls)。现在我想做的就是找到所有可能传递给它的系统调用参数,环境变量,命令行参数 示例:如果我打开一个文件。系统调用sys_access会打开文件吗?但是如何获得这些价值? 想要对系统调用(例如打开,读取,写入,关闭)执行此操作。 根据我的研究,这些必须在寄存器(ebx- edx)中。如果是,则这些寄存器值表示什么?我知
YodaOS Event Event battery.info 表示电池状态,参数描述如下: 参数名称 类型 描述 data string 电池信息 data.batSupported bool 表示是否支持电池 data.batChargingOnline bool 表示是否在充电 data.batLevel int 当前电量 Event app.setup.network-available
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 6.1. 输出参数含义 每一行都是一条系统调用,等号左边是系统调用的函数名及其参数,右边是
无论项目使用哪个bug跟踪系统,某些开发者总会有些抱怨。在这一点上bug跟踪系统比其他标准开发工具更具代表性。我想这是因为bug跟踪系统是这样可视化和可交互,可以轻松的想象出一个人可以做的改进(如果某人有时间),并说出这些改进的描述。把这些不可避免的抱怨当作可信也可疑的吧—下面说的跟踪系统都已经足够好了。 在这个列表中,”问题(issue)“用于代表跟踪系统跟踪的条目。但是请牢记每个系统都会有自己
对于积极使用bug跟踪系统的项目,要小心它变成讨论论坛,虽然邮件列表可能更好。通常情况下,它总是很无辜的开始的:某人评论了某个问题,例如提出了一个解决方案或部分补丁。另一个人注意到这个,认为这个方案有些问题,所以附加了另一个评论指出这个问题。第一个人再次回应,对问题作出补充,就这样一直继续下去。 这样做的问题是,首先,bug跟踪系统用于讨论时非常的笨拙,其次,其他人可能不会投入关注—毕竟,他们希望