gpt4 book ai didi

linux - 什么决定了一个进程可用的虚拟地址空间的大小?

转载 作者:太空狗 更新时间:2023-10-29 11:39:38 26 4
gpt4 key购买 nike

进程可用的虚拟地址空间有什么限制?

是吗

  1. 32 位与 64 位地址总线?

  2. 32 位与 64 位处理器?

  3. 辅助存储可用吗?

  4. 配置的最大交换空间?

提前致谢

最佳答案

辅助存储/交换空间与它无关,因为页面可以映射到您的地址空间而无需分配。并且同一个页面可以映射到多个虚拟地址。 ([编辑] 这是默认行为,但是 vm.overcommit_memory sysctl 设置可用于防止映射没有可用 RAM 或交换的 VM 页面。搜索该 sysctl 设置以获取更多信息。)

CPU 肯定有一个上限,这基本上是 64 位系统的唯一限制。尽管请注意当前 x86_64 processors do not actually let you use the entire 64-bit space .

在 32 位 Linux 上,事情变得更加复杂。旧版本的 Linux 为内核预留了每个进程 2GB 的虚拟空间;较新的保留 1GB。 (如果内存可用,那就是。我相信这些在编译内核时是可配置的。)您是否认为该空间“可供进程使用”是语义问题。

Linux 也有一个每个进程的资源限制 RLIMIT_AS,可通过 setrlimit 访问和 getrlimit .

关于linux - 什么决定了一个进程可用的虚拟地址空间的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6764518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com