linux - 32 位应用程序对 64 位操作系统内存使用限制?

标签 linux memory linux-kernel 32bit-64bit

这可能是题外话,但我只想知道我们是否有 64 位 Linux 操作系统和 94GB 内存,我们是否有用 32 位编写的遗留应用程序 那么我的 32 位应用程序将使用 94GB 内存还是限制为 4G​​B

如果我安装 hugemembigmem 内核,它会解决问题吗?

最佳答案

根据定义,32 位应用程序使用 32 位(虚拟)内存地址,这些地址被限制为 2^32 (4GB) 个可能的内存位置。实际上,由于 Linux 设置进程映射的方式(内核映射到其他 1GB 或 2GB,取决于在您的系统运行的内核和核心库的构建中指定的选项)。在 64 位 Linux 上,进程内存布局略有不同,因此您实际上可以获得不到 4GB(有关更多信息,请参见 here)。如果您需要比这更多的内存,则需要编译为 64 位应用程序。

关于linux - 32 位应用程序对 64 位操作系统内存使用限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31966006/

相关文章:

linux - 将多个用户批量分配到多个组

memory - Lua表内存泄漏?

java - 最小化 Java 中的垃圾收集尝试(示例)

linux - Yocto Bitbake 食谱如何覆盖 do_install() 和 do_install_append()

linux - curl 命令不下载文件 (linux mint)

可以在 C 中优化通过将数据与自身进行异或运算来对内存进行归零吗?

linux - 将 O_DIRECT 与 IO 内存一起使用

c - 如何读到/proc 文件的末尾

FXSAVE 能否在 FXRSTOR 之前执行两次?

Python:关闭终端窗口后,带有 'print' 的 GUI 函数不再有效