项目简介
本项目提供了 gatord
、gator.ko
、gator.py
等相关工具的源代码,用于在 Arm Linux 目标设备上设置 Arm Streamline 以进行系统性能分析。Gator 可运行在用户空间或内核空间,助力用户对系统进行性能分析和调试。
项目的主要特性和功能
- 多模式运行:支持内核空间和用户空间模式,用户空间模式要求 Linux 3.4 或更高版本。
- 多平台支持:支持 Mali - 400、450、T6xx、T7xx 和 T8xx 系列 GPU,可获取硬件活动图表、硬件和软件计数器等信息。
- 文件读取:支持每秒 10 次读取任意
/dev
、/sys
和/proc
文件并解析内容。 - 性能分析:能对应用程序、共享库以及内核进行性能分析,找出性能瓶颈。
- 可定制性:可自定义 l2c - 310 计数器,通过模块参数配置偏移量或禁用计数器。
安装使用步骤
1. 环境准备
根据目标设备情况,准备合适的开发环境,可能需要 Linux 开发环境和交叉编译工具。
2. 内核配置
使用 menuconfig
工具确保内核包含以下配置选项:
plaintext
- General Setup
- Timers subsystem
- [*] High Resolution Timer Support (enables CONFIG_HIGH_RES_TIMERS)
- Kernel Performance Events And Counters
- [*] Kernel performance events and counters (enables CONFIG_PERF_EVENTS)
- [*] Profiling Support (enables CONFIG_PROFILING)
- [*] Enable loadable module support (enables CONFIG_MODULES, needed unless the gator driver is built into the kernel)
- [*] Module unloading (enables MODULE_UNLOAD)
- Kernel Features
- [*] Use local timer interrupts (only required for SMP and for version before Linux 3.12, enables CONFIG_LOCAL_TIMERS)
- [*] Enable hardware performance counter support for perf events (enables CONFIG_HW_PERF_EVENTS)
- CPU Power Management
- CPU Frequency scaling
- [*] CPU Frequency scaling (enables CONFIG_CPU_FREQ)
- Device Drivers
- Graphics support
- Arm GPU Configuration
- Mali Midgard series support
- [*] Streamline Debug support (enables CONFIG_MALI_GATOR_SUPPORT needed as part of Mali Midgard support)
- Kernel hacking
- [*] Compile the kernel with debug info (optional, enables CONFIG_DEBUG_INFO)
- [*] Tracers
- [*] Trace process context switches and events (#)
3. 构建 gator 模块
bash
cp -r /path/to/streamline/gator/driver .
cd driver
make -C <kernel_build_dir> M=`pwd` ARCH=arm CROSS_COMPILE=<...> modules
4. 构建 gator 守护进程
Linux 目标设备
bash
cp -r /path/to/streamline/gator/daemon .
cd daemon
make CROSS_COMPILE=<...>
Android 目标设备
bash
mv daemon jni
ndk-build
5. 运行 gator
使用内核模块 gator.ko
bash
cp gatord gator.ko /target/filesystem
chmod +x gatord
sudo ./gatord &
使用 Linux perf API
bash
cp gatord /target/filesystem
chmod +x gatord
sudo ./gatord &
以非 root 用户身份运行
bash
cp gatord /target/filesystem
chmod +x gatord
./gatord &
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】