리눅스에서 2-3GB of data into memory
을 더로드하려고 시도하는 동안 out of memory (OOM)
에 32bit binaries and 32 bit Perl
의 문제가 발생했습니다.32 비트 바이너리 프로세스가 4GB를 초과 할 수없는 이유는 무엇입니까?
항상 OS with Demand Paging
기능이 상주 페이지를 디스크로 스왑하고 더 많은 페이지를로드하여 4GB 제한을 초과 할 수 없는지 궁금하십니까?
아마 페이지 폴트가 자주 발생하지만 (성능에 영향을 미칩니다) OOM 문제는 발생하지 않아야합니까?
이것은 스택 오버플로에 있어야합니다. – TheValyreanGroup
그들은 https://msdn.microsoft.com/en-us/library/windows/desktop/aa366527(v=vs.85).aspx https://linux.die.net/man/2/mlock 할 수 있습니다. 프로그래머가 수동으로 창 작업을 수행해야합니다. – Vality
페이징 및 주소 지정이 다릅니다. 32 비트 숫자에는 2^32 개의 가능한 값이 있습니다. 일종의 메모리 나 저장 장치에 대한 주소로 사용될 경우 32 비트 포인터로 2^32 바이트를 고유하게 식별 할 수 있습니다. 프로그램이 2^32 바이트 (4GB) 이상의 메모리를 식별 할 수 없으면 디스크, RAM, 캐시 등을 백업하는 것이 무엇이든 상관없이 프로그램에서 작동 할 수 없습니다. – Linuxios