什么是虚拟内存?有什么用?我玩游戏的时候发生了什么?
在小内存时代,设置虚拟内存的必要性大家都很清楚。现在内存的价格越来越便宜,很多朋友都用上了1GB的内存。在大内存环境下,可以完全禁用虚拟内存来提高系统性能吗?
要理解这个问题,首先要明白什么是虚拟内存,它起什么作用。早期因为内存价格很贵,一般电脑上配置不多。此时,如果操作系统和应用程序所需的内存量超过了计算机中安装的物理内存量,操作系统就会通过一种叫做“分页”的操作,把不需要访问的数据暂时写入硬盘上的一个特殊文件中,从而为需要立即使用内存的程序和数据释放内存。硬盘上的这个特殊文件就是分页文件(也就是虚拟内存文件,或者交换文件,Windows 2000/XP/2003中的分页文件名就是pagefile。
硬盘和内存的速度差别很大,所以有朋友认为在内存大的情况下可以禁用虚拟内存,这样系统就不需要花时间把内存中的数据分页到硬盘上,提高了系统的运行效率。
但是按照传统的设计,Windows的很多核心功能都需要使用分页文件。如果禁用所有分页文件,某些第三方应用程序可能会遇到内存不足的错误。事实上,Windows在不需要的时候是不会使用分页文件的,所以用这种方式调整系统不会达到任何性能提升。
二、设为1.5~2倍物理内存最合理?
看来虚拟内存的设置是必要的。设置虚拟内存时,一般建议将虚拟内存设置为65438+物理内存容量的0.5~2倍(分别为虚拟内存的最小值和最大值)。这样的设置合理吗?
在讨论这个问题之前,我们先来看两种情况:有两台电脑,除了内存,其他配置都一样。电脑A的内存为128MB,电脑B的内存为1GB。两台电脑都运行Windows XP操作系统。
根据该视图中的方法,将A机的虚拟内存设置为192MB~256MB,B机的虚拟内存设置为1.5GB~2GB。在实际使用中,A机很可能运行大型软件或游戏,虚拟内存不足,而B机可能会因为设置这么大的分页文件而浪费硬盘空间。
三、如何确定合理的虚拟内存大小?
所以,所谓的1.5~2倍只能是一个指导意见,但应该有多大,还要看系统的实际应用?
的确,按需设置虚拟内存是科学的。我们可以使用Windows 2000/XP/2003中的性能监视器来判断虚拟内存的大小是否合理。
在Run中输入perfmon.msc,在左侧展开Performance Logs and Alerts,双击Counter Logs,在右侧空白处单击右键,选择一个新的日志设置,将其命名为Page File,按Enter确认:
1.单击“添加计数器”按钮,在弹出窗口的性能对象下拉菜单中选择分页文件,在“从列表中选择计数器”中选择“%使用峰值”,在示例中选择“_Total”,单击“添加”按钮,最后关闭该窗口。
1
2
2.单击“确定”和“是”创建日志文件。然后打开日志文件选项卡,从日志文件类型下拉菜单中选择文本文件(逗号分隔),并记住示例框中显示的日志文件的路径。
三
3.点击“确定”后,该计数器开始运行。可以在电脑上进行日常操作,尽可能打开关闭各种常用的应用和游戏。使用几个小时后,基本上计数器就能对你的使用情况做出完整的评价。
4.接下来,在计数器日志窗口中,选择新创建的页面文件计数器,然后右键单击并选择Stop。用记事本打开日志文件,您看到的结果应该类似于以下内容。
四
我们按照这条线来分析一下分页文件的使用。需要注意的是,日志中的值不是分页文件的使用情况,而是使用率。也就是说,根据日志文件,统一系统中只有30%左右的分页文件被使用,而系统中目前设置的分页文件是满满的2GB,所以为了节省硬盘空间,最大分页文件可以降到624MB。对于最小值,可以先根据日志中的占用率求出平均占用率,然后乘以最大值得到。
第四,你注意虚拟内存设置的分区吗?
很多朋友认为虚拟内存设置在哪个分区也是很有讲究的,会影响系统的性能。你怎么看待这个问题?
如果你有多个硬盘,最好将分页文件设置在没有操作系统或应用程序的硬盘上,或者所有硬盘中速度最快的硬盘上。这样,在系统繁忙的时候,就不会出现同一块硬盘同时忙于读取应用程序的数据和分页的情况。相反,如果应用程序和分页文件在不同的硬盘上,这可以最大限度地减少硬盘的使用,提高效率。
当然,如果你只有一个硬盘,完全没有必要在其他分区设置分页文件。无论在同一块硬盘上设置哪个分区,性能都不会受到太大影响。
安全吗?虚拟内存效率的一个重要因素
现在我来教大家如何更合理的使用虚拟内存。
虚拟内存带来的安全风险
我们已经知道,操作系统在运行时会将内存中的一些数据“分页”到硬盘中,但默认情况下,当系统关闭时,这些数据不会被自动删除。所以,如果你在电脑上处理机密数据,虽然你可以使用加密或者把数据转移到其他介质上,保证别人无法读取机密文件的内容,但是你可能会忘记,文件的一些数据可能还留在分页文件中,而在一个特殊程序的帮助下,任何人都可以分析分页文件,读出之前的重要数据。
出于安全考虑,我们最好让Windows在关机时自动删除分页文件的内容(这不是我们通常所说的删除,而是用无意义的数据填充整个分页文件,这样即使有反删除软件也无法恢复)。
解决方案:运行gpedit.msc打开组策略编辑器,在左面板导航到计算机配置→Windows设置→安全设置→本地策略→安全选项,然后在右面板启用关机:清理虚拟内存页面文件。但是,请注意,启用此策略会延长Windows关闭所需的时间,因此除非绝对必要,否则不要启用此策略。
五、分页文件碎片整理
硬盘长时间使用会产生文件碎片,碎片过多会影响系统的运行效率。因此,最好的做法是定期整理硬盘。但你可能不知道,当Windows运行时,pagefile.sys文件会被锁定。因此,该文件中的碎片不会被整理出来。有两种方法来整理分页文件中的碎片。
方法1:假设您的操作系统和分页文件位于驱动器C,请首先将分页文件移动到非系统盘,如驱动器D或驱动器E..然后使用Windows自带的磁盘碎片整理程序对c盘进行碎片整理,这可能需要很多次才能完全完成。完成排序后,将分页文件重置到c盘,因为c盘已经完全碎片化,所以在c盘上重新创建的分页文件会是连续的,从而避免碎片化。这种方法不需要任何额外的工具,但是操作起来有点麻烦。
方法二:我们也可以用软件来简化我们的操作。这里有一个免费软件叫“page defrag”(page defrag v 2.32下载地址:/Utilities/PageDefrag.html)。从程序的主界面,我们不仅可以整理出“pagefile.sys”的碎片,还可以整理出很多其他因为被系统锁定而无法整理的系统文件。由于系统运行时软件不能独占访问分页文件,所以排序工作将在下次系统启动时进行。您可以根据需要选择在下次启动时或每次启动时进行碎片整理。这里推荐前者。
最后,如果使用第三方磁盘碎片整理软件,比如O &;O Defrag,那么这类软件自带的离线Defrag(或者其他类似的名字)也可以在系统重启时整理出这些被锁定的系统文件。
注:第三点和第三点,30%其实应该是6%,因为画面被截掉了,所以有点不对。