> 原文:eLinux.org
翻译:@Lotte-Bai
校订:@lzufalcon
Kernel Trace Systems
本文有一些关于不同内核跟踪系统的信息的链接:
目录
通用跟踪系统
一些主要的 Linux 通用跟踪系统是:
- ptrace - 有能力跟踪系统调用的进入和退出,也能够用于跟踪信号如何传递到进程(也用于调试进程)
- 见 'man ptrace' 和 'man strace'
- Ftrace
- Ftrace Function Graph ARM - Ftrace Function Graph ARM - 由 Tim Biard 准备的报告和补丁,这些补丁为 ARM 系统添加了 function graph(函数调用关系图)和 函数执行时间跟踪功能
- 这个报告有些好的介绍 Ftrace 的资料,以及其他资源的链接
- kernel 函数跟踪器
- 也可以用于调试或分析延迟和性能问题
- 在主分支版本 2.6.27 后支持
- 见 用 FTrace 测量函数持续时间 - 2009 年 Linux 研讨会 Tim Bird 演示文稿的大纲
- System Tap - System Tap 是一个用于构建和执行跟踪和采样的系统,并可以应用于一个正在运行的 Linux 系统
- LTTng - Linux Trace Toolkit, next generation (Linux 跟踪工具套件,下一代)
- LKST - Linux Kernel State Tracer(Linux 内核状态跟踪器)
专用跟踪系统
有一些其他重要的专用内核跟踪系统:
- KFT - Kernel Function Trace - 跟踪函数进而显示函数执行时间以及调用关系图
- latency trace - 这是一个 RT-preempt(实时抢占)工具,可用于测量中断和互斥锁的延迟时间
- block tracer (blktrace) - 允许精确地查看给定队列中的块层正在做什么操作
- delay accounting patches(延时统计补丁) - 统计并收集系统中每个任务的延时
跟踪基本架构
采样系统
请注意,分析系统(或者“采样系统”)略有不同,在这里他们涉及到采样而不是时间跟踪。一些主要的 Linux 采样工具有:
- top - 为正在运行的系统(包括进程)提供了一个动态实时的视图
- OProfile - Linux 系统级的分析工具
- BootChart - 对启动过程分析和提供进程启动的可视化数据和系统利用率
相关工具
- in-kernel statistics infrastructure - 一种提案,目标是在内核中实现一种通用的统计工具
- perfmon2 - 一种针对 CPU 的硬件性能监控特性的接口
- inotify - inotify
其他系统
这里有一些我尚未分类的系统:
合作成果
一些跟踪系统项目的领导人正在尝试合作: 见 Tracing Collaboration Project
分类: