Sha*_*316 2 linux memory operating-system
进程可用的虚拟地址空间有什么限制?
是吗
32位Vs 64位地址总线?
32位与64位处理器?
二级存储可用吗?
配置了最大交换空间?
提前致谢
辅助存储/交换空间与它无关,因为页面可以映射到您的地址空间而无需分配.并且可以在多个虚拟地址处映射相同的页面.([edit]这是默认行为,但vm.overcommit_memory sysctl设置可用于防止没有RAM或交换可用的VM页面的映射.请在该sysctl设置上搜索以获取更多信息.)
CPU肯定会设置一个上限,这实际上是64位系统的唯一限制.虽然请注意,当前的x86_64处理器实际上并不允许您使用整个64位空间.
在32位Linux上,事情变得更加复杂.较早版本的Linux为内核保留了每个进程2GB的虚拟空间; 较新的预留1GB.(如果内存服务,那就是.我相信在编译内核时这些是可配置的.)你是否认为"可用于进程"的空间是一个语义问题.
Linux还具有可通过setrlimit和getrlimit访问的每进程资源限制RLIMIT_AS .