为什么关闭虚拟内存不能提高我的计算机的性能?

app*_*yip 0 memory virtual-memory memory-management

我正在研究计算机体系结构,更具体地说,是虚拟内存。我似乎无法理解的一件事是为什么关闭虚拟内存不会提高我的计算机的性能

我知道禁用虚拟内存有一些缺点(例如,Windows 将无法创建故障转储),但它不应该加速我的系统吗?

如果我使用虚拟内存,每次访问 RAM 时,我的MMU必须再次访问主内存(或至少访问TLB),以便将我的虚拟地址转换为硬件地址(对吗?)。

因此,假设我有足够的 RAM,不应该禁用虚拟内存来阻止对内存的这种额外访问(因为我不再需要将我的地址从虚拟地址转换为物理地址)从而加速我的系统?

Mok*_*bai 8

因为虚拟内存不仅仅是页面文件。

您只是移除了允许您的系统将内存推送到磁盘的存储设备,并且您不能“仅仅”禁用现代操作系统上的虚拟内存。

操作系统使用虚拟内存通过将应用程序隔离到它们自己的地址空间来增强安全性。

通过为应用程序提供自己的地址空间,每个应用程序都可以访问其整个地址范围,而无需与其他应用程序争夺内存区域。

内存隔离和写时复制保护意味着两个应用程序可以共享相同的库并使用几乎相同的一组代码,但彼此完全受到保护。一个程序崩溃或做不该做的事情不会导致另一个程序也死掉。

您的系统始终使用虚拟内存,因为它是任何现代操作系统设计中的关键组件。