为什么 RAM 使用量比虚拟内存使用量大得多

为什么 RAM 使用量比虚拟内存使用量大得多

我正在一台非常强大的机器上运行一些测试(24GB RAM,Windows 2008 64位)

我检查了我的任务管理器:物理内存:98%(RAM为24GB)

但是我所有正在运行的处理器的总“内存(私有工作集)”使用量不超过 16GB

额外的 8GB 是用来做什么的?是被操作系统的 IO 缓冲区使用,还是用在其他地方?

有人可以提供一些想法吗?

答案1

从 Vista/Server 2008 开始,Microsoft 使用几乎所有可用内存用于缓存目的,以提高性能:

为什么 Vista 占用了我所有的内存?

请注意,这不会影响新进程的加载时间,因为当需要更多 RAM 时,缓存使用的内存就会被丢弃。

MS 员工马克·鲁西诺维奇(联合创始人系统内部)解释了虚拟内存在 Windows 中的工作原理:

突破 Windows 的极限:虚拟内存

该系列突破 Windows 的极限非常有趣,因为马克解释了几个通常不为人所知或被误解的 Windows 概念(例如进程地址空间和虚拟内存之间的区别)。

答案2

我认为内存不共享,因此每个虚拟机都有自己的内存预留。这就是为什么您看到内存使用率很高,因为运行主机操作系统的开销很大。

答案3

Windows(以及任何操作系统,甚至包括带有 SmartDisk 的 DOS!)将在内存中维护磁盘和 IO 缓存(包括网络缓冲区等)。另一块内存将用于管理 VM 页表(更多 RAM = 更多页表)和其他操作系统开销。

不同的操作系统对于何时弹出进程内存的磁盘缓存有不同的策略,许多操作系统甚至更喜欢从进程中换出死页,而不是将磁盘缓存减少到接近 0。

相关内容