On Linux running on ARM AArch64 (usually labelled arm64 by the kernel), the main choices are bpftrace for programmable probes and event aggregation, ftrace for kernel function and event tracing, and perf for sampling and performance-counter analysis. All can be useful on an ARM64 machine, but the architecture label alone does not tell you whether a particular probe, kernel function, or processor event is available. Check the running kernel, tool build, permissions, and target SoC before relying on one.
Which tool should you start with?
Start with the question you need to answer, then choose the least complex interface that can expose the data. These tools overlap, but they are not interchangeable: a stable kernel tracepoint, a dynamically instrumented function, and a hardware performance event are different kinds of measurement.
| Tool or facility | Best starting point | What to verify on the target | Important limitation |
|---|---|---|---|
| bpftrace / eBPF | Short scripts to observe kernel or user-space behavior and aggregate events. Depending on the kernel and probe, bpftrace can use tracepoints, kprobes, uprobes, USDT, and perf events. The bpftrace 0.21 documentation lists arm64 as a supported architecture. |
Installed bpftrace version, kernel features and configuration, access permissions, symbols or BTF where needed, and whether the intended probe exists. | Architecture support does not promise that every probe type or target is usable. Some features, including watchpoints, depend on architecture support. The project’s current-branch dependency policy lists Linux 6.1 as its minimum supported kernel; that policy should not be applied automatically to older bpftrace releases. |
| ftrace / tracefs | Kernel function tracing, filters, and kernel event tracing through Linux’s tracing interfaces, without first writing an eBPF script. | Whether the running kernel has the relevant tracing options enabled, and which functions and events it exposes. | Not every function is traceable. Dynamic function patching depends on architecture and kernel support. The ftrace documentation describes dynamic ftrace’s virtually no overhead while function tracing is disabled; this is not a claim of zero overhead when tracing is active. |
| perf | CPU sampling, profiling, performance events, and supported tracing workflows. | The processor’s PMU implementation, events exposed by the kernel for that SoC, and permissions to access them. | An event name or ARM64 architecture label does not guarantee the same hardware event is supported on every Arm processor. The Linux ARM64 perf documentation is the relevant starting point for the kernel-side details. |
| BCC | Larger or custom eBPF tools where a Python or another front end is useful; bpftrace documentation points to BCC for more complex tools. | Availability of the distribution package, kernel/BPF support, and ARM64 build support for the specific tool. | The available documentation does not establish a comprehensive current ARM64 support matrix for every BCC tool, so do not assume every tool works unchanged. |
Match the tool to the question
Use bpftrace for quick, programmable investigations
Choose bpftrace when you want to express an observation or aggregation as a short script, especially across kernel and user-space activity. Its supported probe families are not all the same: tracepoints are predefined kernel events; kprobes and uprobes dynamically instrument kernel and user-space functions; USDT probes are defined by instrumented user-space software. Which of these works depends on the target and its kernel, not just on bpftrace recognizing arm64. See the bpftrace 0.21 documentation for its probe model and architecture listing.
Use ftrace to inspect and trace kernel behavior directly
Choose ftrace when your question is about kernel functions or the kernel’s event-tracing interfaces and you want to work through tracefs controls. It exposes available functions and events on the running system; inspect those lists rather than assuming a function name from another kernel will be present. The kernel documents function tracing in its ftrace guide and event interfaces in its event tracing guide.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- ZYNQ-7000 ARM+FPGA SoC: Powered by Xilinx ZYNQ XC7Z010/020 with dual-core ARM Cortex-A9 and programmable logic—ideal for embedded and FPGA development.
- Integrated Interfaces for Versatile Applications: Features HDMI, USB 2.0 Host, UART, JTAG, Gigabit Ethernet (PS & PL), SD card, and 40-pin expansion for AD/DA, LCD, and camera modules.
- Robust Memory & Storage: Equipped with 512MB/1GB DDR3, 128Mb QSPI Flash, 64Kbit EEPROM, and boot selection via JTAG/QSPI/SD for flexible design setups.
- Industrial-Grade Design: Compact 90x60mm board with immersion gold finish, suitable for industrial environments. 5V/1A power input supports stable operation.
- Support for Linux and Hardware Demos: Supports embedded Linux system, MIPI CSI camera input (7020 only), and comes with HDL demos—perfect for research and education.
Use perf for sampling and processor performance events
Choose perf when you need statistical sampling, profiling, or performance counters. On ARM, the usable events depend on the processor’s PMU and what the kernel exposes for that implementation. Consult the ARM64 perf documentation and the target’s event listings; do not infer that a generic event exists on every Arm CPU.
Check the exact machine before writing a probe
Compatibility is a combination of architecture, tool release, kernel build and runtime state, access controls, and—in the case of hardware events—the actual processor. Record these details for any repeatable investigation.
Rank #2
- Featuring a 1GHz processor and SGX530 Graphics Engine.
- IntegratedNEON SIMD coprocessor;
- On board eMMC memory
- This development board offer high-speed USBconnectivity, an HDMIcompatible interface, and expandable memory option.
- Advanced for BeagleBone Black AM335x CortexA8 Development Board
- Identify the running system. Check
uname -manduname -r, identify the SoC/CPU and distribution, and record tool versions. For bpftrace, runbpftrace --version; the project warns that packaged versions can differ from the documentation version being consulted. Start with the versioned bpftrace documentation that matches the installed tool where possible. - Check bpftrace’s release requirements. Compare the installed release with its documented kernel dependencies and configuration requirements. The project’s current-branch dependency policy lists a Linux 6.1 minimum for that branch and required kernel options, including BPF, BPF syscall/JIT, BPF events, function tracing, dynamic ftrace, kprobes, uprobes, and debugfs. Treat this as a current-branch policy, not a universal minimum for every historical bpftrace version.
- Inspect what the kernel actually exposes. Use bpftrace’s probe-listing mode before scripting, and inspect ftrace’s available-function and event interfaces for kernel tracing. The relevant ftrace and event tracing documentation explain these interfaces. A name listed on another machine is not evidence that it exists on yours.
- Verify tracing filesystems and access. Confirm that the required tracing interfaces are available and mounted, and that your user or process has permission to use them. Kernel build settings, runtime mounts, and security restrictions can each prevent an otherwise supported tool from accessing a probe.
- For perf, verify events on the target processor. Inspect the PMU/event sources exposed on that system and test the specific event you need. The ARM64 perf guide provides kernel-specific context, but there is no single event list established here that can be promised for every SoC.
Prefer the right interface for repeatable diagnostics
When a documented tracepoint answers the question, it is generally a better choice for repeatable diagnostics than probing an internal function whose name or implementation can change. Dynamic probes can be valuable when no suitable tracepoint exists, but they observe implementation details rather than a stable, documented event contract. Decide explicitly which trade-off matters for the investigation, and retain the machine, kernel, and tool version details with any results.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Why older ARM64 comparisons need context
A 2017 Linux Foundation presentation called “Dynamic Tracing Tools on ARM AArch64 Platform” documented a Renesas R-Car Gen3 Salvator-X running Linux 4.9 with additional patches, including AArch64 uprobes work. Its tool maturity assessments describe that development environment and period, not present-day support across Linux ARM64 systems. Treat it as historical context, not a current compatibility matrix: the 2017 presentation.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsQuick Recap
Best Value
- LuckFox Pico is a mini Linux development board based on the RV1103 chip, designed to provide developers with a simple and efficient development platform; Supports multiple interfaces, including MIPI CSI, GPIO, UART, SPI, I2C, USB, etc., for quick development and debugging
- Processor: Cortex [email protected] + RISC-V; Neural Network Processor (NPU): 0.5 TOPS, supports int4, int8, int16; Image Processor (ISP): Input 4M @ 30fps (Max)
- Memory: 64MB DDR2; USB: USB 2.0 Host/Device; Camera interface: MIPI CSI 2-lane; GPIO: 25 GPIO pins; Network port: 10/100M Ethernet controller and embedded PHY; Default storage medium: SPI NAND FL ASH (128MB)
- Built in Micro's self-developed 4th generation NPU, with high computational accuracy and support for mixed quantization of int4, in8, and int16. Among them, int8 has a computing power of 0.5 TOPS and int4 has a computing power of up to 1.0 TOPS
- Built in self-developed 3rd generation ISP3.2, supports 4 million pixels, and supports various image enhancement and correction algorithms such as HDR, WDR, and multi-level denoising
Rank #4
- Powerful Processor for Embedded Systems: The Luckfox Lyra Zero W is powered by the Rockchip RK3506B SoC, featuring a 1.2GHz ARM Cortex-A7 processor, delivering smooth performance for running Linux-based applications and making it suitable for embedded and IoT projects.
- High-Quality Display Interface: The board supports MIPI DSI 2-lane, allowing easy connection to high-resolution displays, ideal for applications like digital signage, HMI systems, and embedded interfaces.
- Extensive Connectivity Options: With USB 2.0 OTG, USB Host 2.0, and GPIO pins, the Lyra Zero W allows connectivity to various peripherals, making it versatile for sensors, devices, and other embedded systems.
- Onboard Wireless Capabilities: Equipped with Wi-Fi 6 and Bluetooth 5.2, the board supports seamless wireless communication, perfect for IoT, networking, and remote control applications.
- Cost-Effective Solution for Development: Offering a budget-friendly price, the Lyra Zero W provides a feature-rich platform for developers to prototype and create advanced embedded systems without exceeding their budget.
Rank #3
- Unlock the power of AI development with Luckfox Pico RV1103 Micro Linux Board featuring ARM Cortex-A7/RISC-V MCU/NPU processors for efficient coding and fast start-up
- Experience seamless connectivity with UART, SPI, I2C, and USB-C interfaces on this versatile development board, allowing for quick and easy debugging
- Enjoy high-definition image processing with the integrated ISP processor, supporting HDR, WDR, and noise reduction for crystal-clear visuals on the go
- Maximize storage space with intelligent encoding modes and adaptive stream saving, saving over 50% bit rate compared to traditional methods for smaller yet clearer images
- Elevate your projects with the NPU, providing high computing precision and up to 1.0 TOPS with int4 for enhanced AI capabilities
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




