The System Characterization recipe runs a set of low-level benchmarks, diagnostic scripts, and system tests to analyze performance on Arm-based platforms. It evaluates key hardware characteristics, including memory latency and bandwidth, helping you gather early, repeatable insight into performance-critical subsystems. The recipe is especially useful for platform bring-up, system tuning, and architectural comparisons.
The following latency sweep plot shows one of the benchmarks that System Characterization provides: the average latency of memory accesses across varying working-set sizes. This benchmark reveals the latency of each cache level in the memory hierarchy.
Latency sweep showing cache hierarchy transitions
Make sure Arm Performix is installed on your host machine. The host machine is your local computer where the Arm Performix GUI runs. It can be a Windows, macOS, or Linux machine. The target machine is the Linux server you wish to benchmark and characterize.
If you don’t have Arm Performix installed, see the Arm Performix install guide .
From the host machine, open Arm Performix and navigate to the Targets tab. Set up an SSH connection to the target you want to benchmark, and test the connection.
The System Characterization recipe requires Python and the numactl utility on the target machine. Connect to your target machine via SSH and install these required packages.
To install on Ubuntu and other Debian-based distributions, run the following command:
sudo apt-get update
sudo apt install python3 python3-venv python3-pip python-is-python3 gcc make numactl fio linux-tools-generic linux-tools-$(uname -r) -y
You’ve set up the target machine and established an SSH connection. You’ve also installed the packages required to run the System Characterization recipe.
Next, you’ll run the recipe and inspect how your hardware platform performs.