什么可以是虚拟内存的最大大小?

时间:2015-01-14 06:38:16

标签: memory swap ram virtual-memory

我看到了这个问题 - What's the difference between "virtual memory" and "swap space"?

这里提到虚拟内存= RAM空间+磁盘空间 - 进程可以使用。

那么虚拟内存的最大大小是多少?

Max(虚拟内存)=磁盘空间+ RAM空间 - 操作系统空间(在RAM和磁盘上)?

2 个答案:

答案 0 :(得分:4)

虚拟内存不受机器内存指针大小的限制,虚拟内存限制与寻址内存空间不同。可以解决比使用分页的基于指针的地址空间中可用的虚拟内存更多的虚拟内存

虚拟内存上限由操作系统设置:例如。 32位Windows限制为16TB,而在64位Windows上限制为256TB。

最大限制是物理磁盘空间。

要确定您需要多少虚拟内存,因为用户的系统包含不同数量的RAM,它基于系统。默认情况下,操作系统将为虚拟内存设置适当的大小。虚拟内存的默认和适当大小为:

<Amount_Of_System_Memory> * 1.5 = <Default_Appropriate_Size_Of_Virtual Memory> 

就个人而言,为了保持良好的整体系统性能,您应该使用虚拟内存的实际大小的默认大小,以及主内存大小的三倍,以获得最大虚拟内存大小。

答案 1 :(得分:1)

理论限制:

起点是虚拟地址的大小。通常,32位的理论最大值为2 ^ 32个虚拟地址。

一些系统将虚拟地址空间划分为专用区域(例如,用户和系统)。 VAX将地址空间划分为4个区域(用户,堆栈,系统,保留/不可用的地址空间的1/4)。

从那里开始。 。

配置限制:

大多数系统可能会对用户页面表的大小施加限制。这可能是每个用户或系统限制。这限制了地址空间的大小。

从那里开始。 。 。

运行时限制:

可用分页区域的大小限制了某个时间点的最大虚拟地址空间。