Справочник Пользователя для IBM REDP-4285-00

Скачать
Страница из 170
4285ch01.fm
Draft Document for Review May 4, 2007 11:35 am
12
 
Linux Performance and Tuning Guidelines
Figure 1-10   Linux kernel memory layout for 32-bit and 64-bit systems
Virtual memory addressing layout
Figure 1-11 shows the Linux virtual addressing layout for 32-bit and 64-bit architecture. 
On 32-bit architectures, the maximum address space that single process can access is 4GB. 
This is a restriction derived from 32-bit virtual addressing. In a standard implementation, the 
virtual address space is divided into a 3GB user space and a 1GB kernel space. There is 
some variants like 4G/4G addressing layout implementing.
On the other hand, on 64-bit architecture such as x86_64 and ia64, no such restriction exits. 
Each single process can enjoy the vast and huge address space.
Figure 1-11   Virtual memory addressing layout for 32bit and 64-bit architecture
32-bit Architecture
64-bit Architecture
16MB
1GB
64GB
ZONE_NORMAL
ZONE_DMA
ZONE_HIGHMEM
“Reserved”
128MB
896MB
Pages in ZONE_HIGHMEM
must be mapped into
ZONE_NORMAL
1GB
64GB
ZONE_DMA
ZONE_NORMAL
~~
~~
Reserved for Kernel
data structures
32-bit Architecture
64-bit Architecture
3GB
3G/1G kernel
User space
Kernel space
0GB
User space
Kernel space
0GB
4GB
512GB or more
x86_64