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

C++ 任务管理器-c/c++;应用程序-分配的地址空间与使用的内存,c++,c,windows,memory-management,C++,C,Windows,Memory Management,我读到过任务管理器(Windows10)显示分配的地址空间量,而不是实际使用的内存量。我不清楚它是如何指C/C++应用程序的内存使用情况的。当我调用malloc/new时,我将该内存视为已分配和正在使用的内存,那么如何解释这种差异呢?当应用程序分配内存时,操作系统可能不会立即实际分配内存(至少Linux是这样,除非您更改默认分配策略) 相反,当应用程序实际访问内存时,操作系统将支持分配。也就是说,当您分配的地址出现页面错误时 这通常是一种明智的策略,因为许多程序分配了大量内存,但只能访问其中的一

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

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

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


这通常是一种明智的策略,因为许多程序分配了大量内存,但只能访问其中的一小部分。

c++
可能会将操作系统中的内存分块分配(可能是2的幂次)。无关:为了更好地了解实际消耗了哪些资源,包括各种不同类型和视图的内存,看看。对您来说最有价值的是虚拟内存。