windows - 扩展 Windows 进程内存限制
问题描述
我是 stackoverflow 和 C/C++ 的新手。
在 Windows 中尝试编程时,我注意到一个进程可以分配多少内存有一定的限制,我想知道如何扩展它。
预先感谢您的帮助
解决方案
你有一些选择:
这适用于 x86 Windows: 32 位进程的内存限制为 2GB。但这可以通过使用 BCD 标志引导系统来增加到 3GB /INCREASEUSERVA 3072
。不过,这有一些怪癖。在 32 位系统上,4GB 内存是拆分的,2GB 用于用户模式,2GB 用于内核模式。现在,用户模式为 3GB,内核模式为 1GB。这很好,但有时内核驱动程序需要比所需更多的堆空间,为内核模式填满了 1GB。
您还可以使用地址窗口扩展。这允许您使用大于 4GB 的物理内存,同时仍使用 32 位地址。如果您想将进程保持为 32 位,这可能是一个不错的选择。
最后,只需将您的程序编译为 64 位。您删除了地址的用户模式地址模式限制,由于没有 x86 虚拟 CPU,因此开销更少,并且您还获得了增强的安全缓解措施。
推荐阅读
- r - 如何在替换方法中传递索引值
- php-7.2 - 为什么我在 PHP 搜索中有这个“count()”错误?
- oracle - 在 oracle 中以多个游标作为输出执行过程
- cassandra - 如何在 kubernetes 的 lagom 部署中设置 cassandara 和 kafka 身份验证
- android - Android Expandable-Header RecyclerView 滚动滞后
- android - 在创建声明敏感权限的新应用版本之前,您无法编辑此应用
- java - 使用指纹识别单个 Android 设备上的不同用户
- hibernate - 具有复合主键的一对一双向映射
- c# - 从不同命名空间中的不同类访问变量
- vue.js - 在 vue.js 中循环 JSON 数组的问题