하나의 프로세스에서 할당할 수 있는 최대 Memory 크기?

oipini의 이미지

저도 전에 배석준님이 하셨던 것처럼 하나의 프로세스에 최대 큰 메모리를 할당하려고 무진장 노력하고 있는데요..
http://bbs.kldp.org/viewtopic.php?t=3367&highlight=%C3%D6%B4%EB

메모리를 엄청 꼽아서 그런지 2~3GB 까지는 할당이 되는 것 같습니다만,
물론 array 형식으로 연속으로 메모리를 할당한 다면, 한번에 기껏해야 1GB 정도가 고작이고요..

만약에 하드웨어적으로 무한정 메모리를 갖춘다고 한다면, 현재 32bit 시스템에서 하나의 프로세스에서 할당할 수 있는 메모리 크기가 어디까지 일까요?

일반적으로 메모리 문제를 해결하기 위해서도 프로세스 통신이나 클러스터링을 쓰는 건 아닌지 궁금해요..

Necromancer의 이미지

현재 x86에서는 하나의 프로세스가 한번에 쓸 수 있는 메모리는 4G가 최대입니다.

물리 메모리는 PAE 등의 기능을 이용해서 64G까지 늘릴 수 있지만(Pentium-pro/2 이후)

선형주소는 32bit (=4G)로 고정되어 있기 때문이죠.

그중 상위 1G영역은 커널이 쓰도록 되어 있고요.

Written By the Black Knight of Destruction