答案1
进程选项卡中的数字加起来永远不会等于全部内存使用量。它们本来就不应该这样。现代操作系统中的内存使用情况非常复杂,您无法通过将一列数字相加来计算总内存使用量。即使任务管理器提供了所有详细信息(但它并没有),这也很难做到。其他实用程序(例如不属于 Windows 的 Process Explorer)将显示更多信息,但需要相当多的知识才能理解。
首先,进程列表不会显示进程的完整内存使用情况。它仅显示进程私有使用情况,而不显示可执行文件(例如 EXE 和 DLL)使用的内存,这些文件通常由多个进程共享。详细信息选项卡中的工作集列显示了这一点,但共享意味着您不能直接将数字相加。
然后是非进程占用大量内存。这包括分页池和非分页池的数量。非分页池的使用完全在 RAM 中,而分页池则不是。任务管理器不会显示有多少内存驻留,但通常大部分内存都是如此,尤其是在有足够的可用内存的情况下。
然后是文件缓存。这不是任务管理器中的“缓存”值,后者完全不同,而且根本不显示。在文件服务器中,这通常是内存的最大用户。在工作站中,它会更小,但通常很重要。
还有各种其他内存消耗者,在任务管理器中根本没有显示。
现代操作系统中的内存使用是高度动态的,并受系统内存管理器的控制。目标是最大化整体系统性能,而不是最小化使用。当可用内存很高时(显然这里就是这种情况),内存管理器将允许进程和其他用户使用他们想要的内存,而几乎没有限制。这是理所当然的。最好将内存用于某些用途,即使它只是微不足道的用途。空闲内存是浪费内存的终极表现。但是当内存需求更高时,使用量将自动减少,必要时会大幅减少。这只会在必要时进行,因为它会严重损害性能。