c++ - 任务管理器 - c/c++ 应用程序 - 分配的地址空间与已用内存

标签 c++ c windows memory-management

我读过任务管理器 (windows 10) 显示分配的地址空间量,而不是实际使用的内存量。我不清楚它是如何引用 C/C++ 应用程序的内存使用情况的。当我调用 malloc/new 时,我将该内存视为已分配和正在使用,那么如何解释这种差异?

最佳答案

当您的应用程序分配内存时,操作系统可能不会立即分配它(至少 Linux 是这种情况,除非您更改默认分配策略)。

相反,当您的应用程序实际访问内存时,操作系统将支持分配。也就是说,当它为您分配的地址出现页面错误时。

这通常是一个明智的策略,因为许多程序分配了很多内存,但随后只访问其中的一小部分。

关于c++ - 任务管理器 - c/c++ 应用程序 - 分配的地址空间与已用内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59311675/

相关文章:

c++ - 为什么我无法将 std::make_unique<S> 作为函数参数传递?

c - 访问冲突,读取指针数组时出现未处理的异常

c - 如何将动态数组发送到(内核模块)中的 copy_to_user

c# - 在C#中使用Windows Media Player播放声音

Python:为子进程提供输入

c++ - 模板类和可能的性能问题

c++ - 带有目标相机的 C++ 3d vector/矩阵库的建议

c++ - 一个指向指针的指针如何对应一个二维数组?

c - 如何使用 Rembedded 解析因子/数据帧

c# - 如何仅通过 Win32 API 实现 .NET Process.Exited 事件