# [Explore performance gains by increasing the Linux kernel page size on Arm](https://learn.arm.com/learning-paths/servers-and-cloud-computing/arm_linux_page_size/)

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/arm_linux_page_size/)
- [Overview](https://learn.arm.com/learning-paths/servers-and-cloud-computing/arm_linux_page_size/overview/)
- [Change page size on Ubuntu](https://learn.arm.com/learning-paths/servers-and-cloud-computing/arm_linux_page_size/ubuntu/)
- [Change page size on Debian](https://learn.arm.com/learning-paths/servers-and-cloud-computing/arm_linux_page_size/debian/)
- [Change page size on CentOS](https://learn.arm.com/learning-paths/servers-and-cloud-computing/arm_linux_page_size/centos/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/arm_linux_page_size/_next-steps/)

## About this Learning Path

| Skill level:  | Introductory        |
|---------------|---------------------|
| Reading time: | 30 min              |
| Last updated: | 29 Jun 2026         |

| Author:      | Geremy Cohen, Arm [GitHub](https://github.com/geremyCohen) [LinkedIn](https://linkedin.com/in/geremyinanutshell) |
|--------------|-----------------------------------------------------------|
| 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), [bash](https://learn.arm.com/tag/bash)                                                                 |

### Who is this for?
This is an introductory topic for developers who want to modify the Linux kernel page size on Arm-based systems to improve performance for memory-intensive workloads.

### What will you learn?
Upon completion of this Learning Path, you will be able to:
- Explain the differences in page size configuration between Arm64 and x86 architectures.
- Understand how page size affects memory efficiency and system performance.
- Check the current memory page size on an Arm-based Linux system.
- Install and boot into a Linux kernel configured with 64K page size support.
- Confirm that the 64K page size is active.
- Optionally revert to the default 4K page size kernel.

### Prerequisites
Before starting, you will need the following:
- Access to an Arm-based Linux system running Ubuntu, Debian, or CentOS.

### Summary
You’ll evaluate and change the Linux kernel base page size on Arm, focusing on installing and booting a 64K configuration. First, you’ll start with page size fundamentals and a quick check of the current setting using `getconf` and `uname`. OS-specific steps include Ubuntu and CentOS package-based flows, while Debian requires building a 64K kernel from source using the Debian source package. After reboot, you’ll validate the change by seeing `65536` from `getconf` and the expected kernel string. You’ll also review common Arm page size options and an optional step to revert to the default 4K kernel after testing.

### Frequently asked questions

#### How do I check the current base page size and kernel in use?
Run `getconf PAGESIZE` and `uname -r`. On a 4K configuration, the first line shows `4096`, followed by the running kernel version and flavor.

#### What should I do if `getconf` does not show `4096` before I begin?
A value other than `4096` indicates the system is already using a non-4K page size, such as `16384` or `65536`. Note the current value and proceed only if a change is needed.

#### Which distribution-specific section should I follow?
Use the Ubuntu section for Ubuntu 22.04 LTS or later, the Debian section for Debian 11 or later, and the CentOS section for CentOS 9 or later. Debian doesn’t provide a 64K kernel package, so follow the steps to build from the Debian source package.

#### How do I confirm that the 64K page size is active after installation and reboot?
Re-run `getconf PAGESIZE` and expect `65536`. Also check `uname -r` to verify the kernel string matches the newly installed kernel.

#### How can I revert to a 4K page size after testing?
Use the optional revert step to return to the distribution’s default 4K kernel, then verify with `getconf PAGESIZE` that it shows `4096`. This restores the original base page size.
