| Skill level: | Introductory |
| Reading time: | 30 min |
| Last updated: | 29 Jun 2026 |
| Skill level: |
| Introductory |
| Reading time: |
| 30 min |
| Last updated: |
| 29 Jun 2026 |
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.
Upon completion of this Learning Path, you will be able to:
Before starting, you will need the following:
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
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.These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
getconf PAGESIZE and uname -r. On a 4K configuration, the first line shows 4096, followed by the running kernel version and flavor.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.getconf PAGESIZE and expect 65536. Also check uname -r to verify the kernel string matches the newly installed kernel.getconf PAGESIZE that it shows 4096. This restores the original base page size.