c++ - 远离 Windows\C++ 中的虚拟内存

标签 c++ windows winapi memory swap

我正在编写一个性能关键型应用程序,它必须在转储到磁盘之前在物理内存中存储尽可能多的数据。

我可以使用 ::GlobalMemoryStatusEx(...)::GetProcessMemoryInfo(...) 来找出多少百分比的物理内存是保留\空闲和我当前的进程处理了多少内存。 使用此数据,我可以确保在使用了约 90% 的物理内存或达到每个应用程序最大 2GB 限制中的约 90 个时进行转储。

但是,我想要一种方法来简单地接收在系统开始使用虚拟内存之前实际剩余的字节数,尤其是当应用程序将针对 32 位和 64 位编译时,而 2 GB 的限制不存在。

最佳答案

这个函数怎么样:

int
bytesLeftUntilVMUsed() {
    return 0;
}

我认为它应该在几乎所有情况下都给出正确的结果;)

关于c++ - 远离 Windows\C++ 中的虚拟内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1873334/

相关文章:

c++ - 带有初始化列表的简单构造函数?

windows - 下载旧版本的 git for windows

c++ -::createFile winApi 失败并出现错误 5 (access_denied)。是 shell 编程还是其他解决方案或任何提示。

c++ - 修改 char *const 字符串

c++ - 我要声明部分特化的 friend 类吗? - 很困惑

c++ - ProcessExit - DLL 卸载和静态的顺序

c++ - 如何为 Windows 实现终端仿真器?

C++ CALLBACK函数类型

c++ - 获取 FILE * 句柄而不实际在磁盘上创建文件

c++ - 从 CScrollBar 获取所有位置值