littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Python和Linux内核的Arm Streamline性能分析系统

项目简介

本项目提供了 gatordgator.kogator.py 等相关工具的源代码,用于在 Arm Linux 目标设备上设置 Arm Streamline 以进行系统性能分析。Gator 可运行在用户空间或内核空间,助力用户对系统进行性能分析和调试。

项目的主要特性和功能

  1. 多模式运行:支持内核空间和用户空间模式,用户空间模式要求 Linux 3.4 或更高版本。
  2. 多平台支持:支持 Mali - 400、450、T6xx、T7xx 和 T8xx 系列 GPU,可获取硬件活动图表、硬件和软件计数器等信息。
  3. 文件读取:支持每秒 10 次读取任意 /dev/sys/proc 文件并解析内容。
  4. 性能分析:能对应用程序、共享库以及内核进行性能分析,找出性能瓶颈。
  5. 可定制性:可自定义 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】