Memory zones
![]()
The Linux® kernel divides memory into memory
zones. On a mainframe, three zones are used: DMA, Normal, and
Movable.
- Memory in the
DMAzone is below 2 GB, and some I/O operations require that memory buffers are located in this zone. - Memory in the
Normalzone is above 2 GB, and it can be used for all memory allocations that do not require zone DMA. - Memory in the
Movablezone cannot be used for arbitrary kernel allocations, but only for memory buffers that can easily be moved by the kernel, such as user memory allocations and page cache memory. Memory in theMovablezone can more easily be taken offline than memory in other zones.
The zones that are available to a memory block are listed in the valid_zones sysfs attribute.