当前位置:首页 > 内存 > 正文

虚拟内存是如何构建的(虚拟内存怎么设置多少)

  • 内存
  • 2024-05-04 08:13:13
  • 1040

一、虚拟内存问题?如果你的硬盘有足够的可用空间,你也可以自己设置虚拟内存。以下是具体步骤:右键单击“我的电脑”→选择“属性”→“高级设置”→“性能设置”→“高级设置”→“更改虚拟内存”→“虚拟内存”。页面文件)存储分区→自定义大小→确定最大值和最小值→设置。一般虚拟内存是物理内存的1.5倍,但如果不想频繁更改虚拟内存,可以将最大值和最小值设置为相同。{另外一句话:在进行调整时,要注意不要将最大和最小页面文件值设置为相同的值。内存通常实际上并没有“满”,因此当内部存储达到一定水平时,暂时未使用的数据会自动保存到硬盘上。最小页面文件越大,比率越低,运行速度越慢。最大页面文件是限制。当您打开许多程序时,内存和最小页面文件可能会变“满”,而最大页面文件可能会自动溢出。因此,将两者等同是不合理的。通常,最小页面文件设置得较小,以便在内存中存储尽可能多的数据并提高效率。最大页面文件设置得较大以避免“已满”的情况。
P.S:①个人认为,1.5倍虚拟内存的设置一般网上技术文档都有描述,可以根据常用软件的实际情况进行设置。推荐给有经验的用户。
②有很多软件工具(WINDOWS优化大师、超级兔子等)可以成功更改这些设置。该工具软件还会根据您计算机的实际情况创建相应的推荐设置。
二、关于虚拟内存设置的问题复制下面的内容,然后用记事本编辑,另存为reg文件,双击运行,写入注册表你的系统是XP,不要

WindowsRegistryEditorVersion5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement]
"ClearPageFileAtShutdown"=dword:0100"Expert:0100"分页00000
"LargeSystemCache"=dword:00000000
"NonPagedPoolQuota"=dword:00000000
"NonPagedPoolSize"=dword:00000000
"PagedPoolQuota"=dword:0=0=PagedPoolQuota"=dword:00000000
dword:00000000
"SecondLevelDataCache"=dword:00000000
"SystemPages"=dword:0007b000
"PagingFiles"=hex(7):43,00,3a,00,5c,00,7,00,61,00,67,00,65,00,66,00,69,00,6c,\
00,65,00,2e,00,73,00,79,00,73,00,20,00,33,00,38,00,34,00,20,00,37,00,36,00,\
38,00,00,00,00,00
"PhysicalAddressExtension"=dword:00000000
"SessionViewSize"=dword:00000030
"SessionPoolSize"=dword:00000004
"SessionImageSize"=dword:00000001
"iopagelocklimit"=dword:00000001
"=dword:00008000
[hkey_local_machine\system\actualControlset\control\sessionManager\MemoryManagement\prefetchParameters]
"VideoItTime"=dword:00000303"EnablePrefetcher"=dword:00000003
"AppLaunchMaxNumPages"=dword:00000fa0
"AppLaunchMaxNumSections"=dword:000000aa
"AppLaunchTimerPeriod:8,ff,6,ff,ff
"BootMaxNumPages"=dword:0001f400
"BootMaxNumSections"=dword:00000ff0
"BootTimerPeriod"=十六进制:00,f2,d8,f8,ff,ff,ff,ff
"MaxNumActiveTraces"=dword:00000008
"MaxNumSavedTraces"=dword:00000008"=dword:00000008
"RootDirPath"="安装程序"
"HostingAppList"="DLLHOST..EXE,”
三、现代操作系统为什么要采用虚拟内存管理机制人们之所以要创建虚拟地址空间,就是为了解决进程地址空间隔离的问题。但是,如果程序要执行,就必须在实内存中执行。因此,需要在虚拟地址和物理地址之间建立映射关系。当程序通过映射机制访问虚拟地址空间中的特定地址值时,相当于访问物理地址空间中的另一个值。于是想到了一种分段方法,其思想是在虚拟地址空间和物理地址空间之间进行一一对应的映射。例如,虚拟地址空间中的10MB空间被映射到物理地址空间中的10MB空间。这个想法并不难理解。操作系统保证不同进程的地址空间映射到物理地址空间中的不同区域,从而使每个进程最终访问的物理地址空间相互隔离。这样就实现了进程间的地址隔离。让我们举个例子。假设有两个进程A和B,进程A所需的内存大小为10MB,其虚拟地址空间从0x00000000分布到0x00A00000,从0x00000000分布到0x06400000。然后,根据分段分配方法,进程A分配0x00100000到0x00B00000范围的物理内存,进程B分配0x00C00000到0x07000000范围的物理内存。因此,进程A和进程B被分配到不重叠的不同内存区间,从而实现地址隔离。从应用程序的角度来看,进程A的地址空间分布在0x00000000到0x00A00000之间。开发者在开发时只需访问该范围内的地址即可。应用程序并不关心物理内存的哪一块区域被分配给进程A,因此程序的当前地址相当于目的地。