Edit This Page
This feature is currently in a beta
- The version names contain beta (e.g. v2beta3).
- Code is well tested. Enabling the feature is considered safe. Enabled by default.
- Support for the overall feature will not be dropped, though details may change.
- The schema and/or semantics of objects may change in incompatible ways in a subsequent beta or stable release. When this happens, we will provide instructions for migrating to the next version. This may require deleting, editing, and re-creating API objects. The editing process may require some thought. This may require downtime for applications that rely on the feature.
- Recommended for only non-business-critical uses because of potential for incompatible changes in subsequent releases. If you have multiple clusters that can be upgraded independently, you may be able to relax this restriction.
- Please do try our beta features and give feedback on them! After they exit beta, it may not be practical for us to make more changes.
Kubernetes supports the allocation and consumption of pre-allocated huge pages
by applications in a Pod as a beta feature. This page describes how users
can consume huge pages and the current limitations.
Before you begin
- Kubernetes nodes must pre-allocate huge pages in order for the node to report
its huge page capacity. A node may only pre-allocate huge pages for a single
The nodes will automatically discover and report all huge page resources as a
Huge pages can be consumed via container level resource requirements using the
hugepages-<size>, where size is the most compact binary notation
using integer values supported on a particular node. For example, if a node
supports 2048KiB page sizes, it will expose a schedulable resource
hugepages-2Mi. Unlike CPU or memory, huge pages do not support overcommit.
- image: fedora:latest
- mountPath: /hugepages
- name: hugepage
- Huge page requests must equal the limits. This is the default if limits are
specified, but requests are not.
- Huge pages are isolated at a pod scope, container isolation is planned in a
- EmptyDir volumes backed by huge pages may not consume more huge page memory
than the pod request.
- Applications that consume huge pages via
run with a supplemental group that matches
- Huge page usage in a namespace is controllable via ResourceQuota similar
to other compute resources like
memory using the
- Support container isolation of huge pages in addition to pod isolation.
- NUMA locality guarantees as a feature of quality of service.
- LimitRange support.