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