在尝试在Linux上加载更多out of memory (OOM)
时遇到32bit binaries and 32 bit Perl
2-3GB of data into memory
个问题。
总是想知道为什么OS with Demand Paging
功能,不能将驻留页面换成磁盘并加载更多页面以超过4GB限制?
可能会发生频繁发生页面错误(影响性能),但绝不会遇到OOM问题?
答案 0 :(得分:1)
这是因为32位处理器在访问内存时只能寻址32位,3 GB(3×10243字节)是此操作的限制。
答案 1 :(得分:0)
32位定义逻辑地址空间的大小。您的程序可以随时访问最多2 ** 32字节的内存。
如果进程可用的物理内存少于2 ** 32字节,那么操作系统会将页面交换到磁盘。
在过去,当物理内存多于地址空间时(例如,16位地址空间和1MB内存),处理器通常以您建议的方式支持地址空间的交换段