# Learn the Arm Neoverse N1 performance analysis methodology

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/top-down-n1/)
- [Introduction to performance analysis](https://learn.arm.com/learning-paths/servers-and-cloud-computing/top-down-n1/intro/)
- [Build an example application](https://learn.arm.com/learning-paths/servers-and-cloud-computing/top-down-n1/application-1/)
- [Gather performance metrics](https://learn.arm.com/learning-paths/servers-and-cloud-computing/top-down-n1/analysis-1/)
- [Optimize the application](https://learn.arm.com/learning-paths/servers-and-cloud-computing/top-down-n1/optimize-1/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/top-down-n1/_next-steps/)

## About this Learning Path

|  |  |
| --- | --- |
| Skill level: | Introductory |
| Reading time: | 1 hr |
| Last updated: | 17 Jun 2026 |

|  |  |
| --- | --- |
| Author: | Jason Andrews , Arm<br>[GitHub](https://github.com/jasonrandrews)<br>[LinkedIn](https://linkedin.com/in/jason-andrews-7b05a8) |
| Arm IP: | [Neoverse](https://support.arm.com/?tab=compute-ip&Product%20Type=Infrastructure%20Processors) |
| Tags: | [Performance and Architecture](https://learn.arm.com/tag/performance-and-architecture) [Linux](https://learn.arm.com/tag/linux) [perf](https://learn.arm.com/tag/perf) [Telemetry](https://learn.arm.com/tag/telemetry) [Runbook](https://learn.arm.com/tag/runbook) |

|  |
| --- |
| Author: |
| Jason Andrews , Arm<br>[GitHub](https://github.com/jasonrandrews)<br>[LinkedIn](https://linkedin.com/in/jason-andrews-7b05a8) |
| Arm IP: |
| [Neoverse](https://support.arm.com/?tab=compute-ip&Product%20Type=Infrastructure%20Processors) |
| Tags: |
| [Performance and Architecture](https://learn.arm.com/tag/performance-and-architecture) [Linux](https://learn.arm.com/tag/linux) [perf](https://learn.arm.com/tag/perf) [Telemetry](https://learn.arm.com/tag/telemetry) [Runbook](https://learn.arm.com/tag/runbook) |

| Tags:                |
|----------------------|
| [Performance and Architecture](https://learn.arm.com/tag/performance-and-architecture) |
| [Linux](https://learn.arm.com/tag/linux) |
| [perf](https://learn.arm.com/tag/perf) |
| [Telemetry](https://learn.arm.com/tag/telemetry) |
| [Runbook](https://learn.arm.com/tag/runbook) |

### Who is this for?
This is an introductory topic for software developers who want to learn about performance analysis methodology for Linux applications running on Arm Neoverse.

### What will you learn?
After completing this Learning Path, you'll be able to perform the following tasks:
- Understand sampling and counting for performance analysis
- Learn commonly used hardware metrics
- Analyze a sample application using the Arm Telemetry Solution and Linux Perf
- Make an application code change and see improved performance

### Prerequisites
Before starting, you'll need the following prerequisites:
- An Arm Neoverse N1 computer running Linux. A bare metal or cloud metal instance is best because they expose more counters. You can use a virtual machine (VM), but it may offer fewer counters and some commands might not succeed. These instructions have been tested on the `a1.metal` instance type.
