How large is the virtual address space for a process
In Linux, choosing a CPU and kernel suited to the application’s requirements helps the system run stably. x86_64 (AMD64, EM64T) processors are 64-bit processors and can use either 32-bit or 64-bit kernels. With a 64-bit kernel, the system can run both 32-bit and 64-bit programs without problems. By contrast, 32-bit Intel Pentium 4 and AMD Athlon processors can run only 32-bit programs in a 32-bit environment. Different processor and kernel combinations support different amounts of virtual address space, as shown in the table below:
CPU Kernel Application Virtual Address Size
32 or 64 bit 32 bit (smp) 32 bit slightly under 3GB
32 or 64 bit 32 bit (hugemem) 32 bit slightly over 3.7GB
64 bit 64 bit 32 bit 4GB
64 bit 64 bit 64 bit more than 256GB