为什么未使用的内存也被算作同时使用?

为什么未使用的内存也被算作同时使用?

因此,我经常在 Windows 11 主机系统(Windows 11 Pro,64 位,16GB RAM,Core i5)上使用带有 Hyper-V 的 VM,没有任何问题。但从昨天开始,我注意到我没有足够的可用 RAM 来启动我的 VM。在任务管理器中,我可以看到我的内存使用率一直很高(70-90%),但各个进程的内存使用量加起来并没有达到我应该使用的 12-14GB。

所以我下载了 RamMap 并试图弄清楚发生了什么。我读过很多帖子,遇到类似问题的人报告说在分页表、映射文件或驱动程序锁定中看到高数字。但我可以看到 7GB 被标记为未使用(屏幕截图中的灰色区域)!!!如果它未使用,那么为什么它不是可自由使用的,并且出现在总计 13GB 的已用内存总数中?我如何释放这些内存???重启我的电脑似乎没有任何效果。

非常感谢任何提示/帮助!

查看在同一时刻拍摄的任务管理器和 RamMap 的屏幕截图:

在此处输入图片描述

答案1

我认为 RamMap 只是误报了信息,或者是我们不知道如何读取它。请注意,RamMap 在用户空间中执行,因此仅限于通过 Windows API 可用的数据。它无法直接访问内核数据。

任务管理器中的“性能”选项卡清楚地显示 Windows 使用了 13.8 GB,还有 2.0 GB 可用。加起来是 15.8 GB,几乎占了你的全部 RAM。

在任务管理器中找不到任何未使用的 7 GB,因此 RamMap 中的“未使用”显然另有含义。这 7 GB 可能包含在任务管理器的“正在使用”(您的“正在使用”)部分中。

从我在网上看到的其他帖子中,我得到的印象是 RamMap 的“未使用”部分实际上代表它无法分析的内存,通常是驱动程序数据。RamMap 无法分析驱动程序数据,因为这需要直接内核访问。

找出导致这种分配的原因是一个大问题。您可以尝试以安全模式启动,看看这种情况是否仍然发生。在此模式下,只允许执行 Microsoft 驱动程序。这可能会给我们提供更多有关该问题的信息。

相关内容