找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1731|回复: 6

理解虚拟内存及优化方法

泰歌 发表于 2006-12-18 11:43:58 | 显示全部楼层 |阅读模式 来自 中国江苏扬州

马上注册,结交更多好友,享用更多功能。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  操作系统的任务主要是合理地调配系统的各种资源,为各种程序提供运行环境,它可以被看做是硬件和应用软件之间的一种媒介。其中对内存的管理是系统的主要职责之一,怎样使有限的内存用在刀刃上,如何摆脱系统本身所需的内存瓶颈限制,是一个值得关心的问题。什么是虚拟内存
  在Windows 2000XP)目录下有一个名为pagefile.sys的系统文件(Windows 98下为Win386.swp),它的大小经常自己发生变动,小的时候可能只有几十兆,大的时候则有数百兆,这种毫无规律的变化实在让很多人摸不着头脑。其实,pagefile.sysWindows2000XP)下的一个虚拟内存,它的作用与物理内存基本相似,但它是作为物理内存的后备力量而存在的,也就是说,只有在物理内存已经不够使用的时候,它才会发挥作用。
虚拟内存的产生
  虽然在运行速度上硬盘不如内存,但在容量上内存是无法与硬盘相提并论的。当运行一个程序需要大量数据、占用大量内存时,内存就会被塞满,并将那些暂时不用的数据放到硬盘中,而这些数据所占的空间就是虚拟内存。现在我们也明白为什么pagefile.sys的大小会经常变化了。
虚拟内存的优化
  虚拟内存的大小是由Windows来控制的,但这种默认的Windows设置并不是最佳的方案,因此我们要对其进行一些调整。这样才能发挥出系统的最佳性能。
  1、改变页面文件的位置
    Windows 9x的虚拟内存分页位置,其实就是保存在C盘根目录下的一个虚拟内存文件(也称为交换文件)Win386.swp,它的存放位置可以是任何一个分区,如果系统盘C容量有限,我们可以把Win386.swp调到别的分区中,方法是在记事本中打开System.iniC:\Windows下)文件,在[386Enh]小节中,将“PagingDrive=C:WindowsWin386.swp”,改为其他分区的路径,如将交换文件放在D:中,改为“PagingDrive=D:Win386.swp”,如没有上述语句可以直接键入即可。  
  而对于使用Windows 2000Windows XP的,可以选择控制面板系统高级性能中的设置高级更改,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把原先的分区设置为无分页文件,然后再选择其他分区。
       2、改变页面文件的大小
    将虚拟内存的最大值与最小值都设为物理内存的1.5(这样设置后,系统无需根据虚拟内存的使用量来调节虚拟内存文件的大小,一方面节省了系统资源,另一方面可以有效减少磁盘碎片的产生)
  3、禁用页面文件
  当拥有了512MB以上的内存时,页面文件的作用将不再明显,因此我们可以将其禁用。方法是:依次进入注册表编辑器“HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession Ma-nagerMemoryManagement”下,在“DisablePa-ging Executive”(禁用页面文件)选项中将其值设为“1”即可。
  4、清空页面文件
  在同一位置上有一个“ClearPageFileAtShutdown(关机时清除页面文件),将该值设为“1”。这里所说的清除页面文件并非是指从硬盘上完全删除pagefile.sys文件,而是对其进行清洗和整理,从而为下次启动Windows XP时更好地利用虚拟内存做好准备。
        5.双系统中共享虚拟内存--节省空间
  重新启动计算机并登录到Windows XP,运行注册表编辑器,依次展开HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerMemory Management分支,双击右侧窗口中的“PagingFiles”键值,将其值改为“C:win386.swp 200 200”(注意:中间的200前后各有一个空格)
  依次展开HKEY_LOCAL_MACHINESYSTEMControlSet002ControlSession ManagerMemory Management分支和HKEY_LOCAL_MACHINESYSTEMCurrent ControlSet
  ControlSession ManagerMemory Management分支,按上述方法将“PagingFiles”键值改为“C:win386.swp 200 200”
  展开HKEY_LOCAL_MACHINESYSTEMCurrent ControlSetControlBackupRestoreFilesNotToBackupHKEY_LOCAL_MACHINESYSTEMControlSet001ControlBackupRestoreFilesNotToBackup分支,将以上分支下的“Memory Page File”键值均设置为Win386.swp”
  现在退出注册表编辑器,重启计算机,登录到Windows XP后将Pagefile.sys文件删除,至此大功告成!
    hiberfil.sys文件是系统休眠时将内存保存到这个文件中。它的大小始终和你的物理内存大小一致,
    如果你希望回收这个空间,下面的步骤可行:
    打开控制面板下的电源管理
   
在机器休眠选项页上找到从不这一选项,选中这一项,系统会自动消除hiberfil.sys文件
糊涂神 发表于 2006-12-18 11:56:21 | 显示全部楼层 来自 中国山东日照
王嘉绪 发表于 2006-12-18 12:27:10 | 显示全部楼层 来自 中国吉林长春

顶山去

顶山去顶山去顶山去
二吨半 发表于 2006-12-18 14:53:09 | 显示全部楼层 来自 中国四川成都
谢谢,正想了解
朱士尼 发表于 2006-12-19 17:07:57 | 显示全部楼层 来自 中国河北保定
厉害阿!谢谢
恋旧 发表于 2006-12-19 22:16:58 | 显示全部楼层 来自 中国湖北武汉
讲解的很详细啊
小菜维修 发表于 2006-12-22 23:31:17 | 显示全部楼层 来自 中国广西南宁
希望多发点这类贴子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表