中国汽车不出口知乎:虚拟内存是不是越大越好

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 20:00:20

不是的

1、虚拟内存的作用

内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。下面,就让我们一起来看看如何对虚拟内存进行设置吧。

2、虚拟内存的设置

对于虚拟内存主要设置两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。对于内存大小的设置,如何得到最小值和最大值呢?你可以通过下面的方法获得:选择“开始→程序→附件→系统工具→系统监视器”(如果系统工具中没有,可以通过“添加/删除程序”中的Windows安装程序进行安装)打开系统监视器,然后选择“编辑→添加项目”,在“类型”项中选择“内存管理程序”,在右侧的列表选择“交换文件大小”。这样随着你的操作,会显示出交换文件值的波动情况,你可以把经常要使用到的程序打开,然后对它们进行使用,这时查看一下系统监视器中的表现值,由于用户每次使用电脑时的情况都不尽相同,因此,最好能够通过较长时间对交换文件进行监视来找出最符合您的交换文件的数值,这样才能保证系统性能稳定以及保持在最佳的状态。

找出最合适的范围值后,在设置虚拟内存时,用鼠标右键点击“我的电脑”,选择“属性”,弹出系统属性窗口,选择“性能”标签,点击下面“虚拟内存”按钮,弹出虚拟内存设置窗口,点击“用户自己指定虚拟内存设置”单选按钮,“硬盘”选较大剩余空间的分区,然后在“最小值”和“最大值”文本框中输入合适的范围值。如果您感觉使用系统监视器来获得最大和最小值有些麻烦的话,这里完全可以选择“让Windows管理虚拟内存设置”。
3、调整分页位置

Windows 9x的虚拟内存分页位置,其实就是保存在C盘根目录下的一个虚拟内存文件(也称为交换文件)Win386.swp,它的存放位置可以是任何一个分区,如果系统盘C容量有限,我们可以把Win386.swp调到别的分区中,方法是在记事本中打开System.ini(C:\Windows下)文件,在[386Enh]小节中,将“PagingDrive=C:WindowsWin

386.swp”,改为其他分区的路径,如将交换文件放在D:中,则改为“PagingDrive=D:Win386.swp”,如没有上述语句可以直接键入即可。

而对于使用Windows 2000和Windows XP的,可以选择“控制面板→系统→高级→性能”中的“设置→高级→更改”,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把原先的分区设置为无分页文件,然后再选择其他分区

最小值一般应为 物理内存的1~1.5被
最大值一般应为 物理内存的2~3

位置不要设在c:盘 应该设在非系统盘

虚拟内存的设置并非是越大越好,硬盘的读写速度比起内存来说实在是差太多,所以过大的虚拟内存反而会降低系统性能,一般就是够用就好。过大了还总是读写磁盘,对硬盘也不好。

在设置虚拟内存时,应该先对其进行整理,让文件处于一个连续的区,这样就磁盘碎片就少了。

一、虚拟内存(Virtual Memory)(来自摘录)
为避免大数据用完物理内存的情况,windows会将已载入内存但暂时没有用到的数据临时放入硬盘中,然后将空出的内存给其他需要的程序使用,当又需要那些程序或数据时则在硬盘中读取到物理内存中。这部分将硬盘的部分空间作为内存临时存放的空间就是虚拟内存。为了管理方便,windows会将物理内存(RAM)和虚拟内存分割成许多小志,称为Page,每个page为4KB。
二、windows是如何使用内存的.
要想知道为什么系统速度提升不再明显,必须先理解windows怎么样使用内存。这里要涉及一个概念--资源。
这不是平时所说的CPU资源、内存资源或统一的“系统资源”。我们接下来要说的资源就是程序可以操纵的windows物件。举例来说,屏幕上显示的每个窗口都是一个资源,每幅图片也都可能是一个资源。如果一个应用程序打开了磁盘上的一个文件,那么这个被打开的文件也是一个资源。依此类推,如果一个应用程序需要使用一个资源,它就会向操作系统提出请求,要求新建一个或从存储顺里调用。
在PC中,系统会为运行的程序所提出的要求建立相应的指针,然后程序根据指针在内存中调用程序,这种指针有4个字节长,所以如果一个应用程序需要给内存里的某个数据配一个指针,那就需要4字节的内存空间。这样的工作方式给早期的Windows设计者带来了不小麻烦,因为那时制作工艺尚不发达,内存非常昂贵,一台电脑上有8MB内存就中以让用户无数次从梦里笑醒了,大多数电脑只能配置4MB内存。在内存如此紧张的情况下,一个应用程序却经常需要用到几百万个资源。要用这些资源,就要给每个资源配发一个指针。每个指针占据4个字节,几百万个指针,就会消耗掉数量可观的一块内存空间。所以,windows设计者采用了另外一种替代方案。他们创建了资源表。就是把当前调入内存的所有资源的信息登记到一个清单。这样一来,当就用程序要求系统调用一个资源时,系统调用后就不用给它配发指针了,而是直接告诉应用程序该资源在资源表中的序号。因为序号不是内存地址,所以就可以用一个只需占用两的数字表示。与直接用内存地址代表资源的指针相比,这只是两个字节的差距。但当你只有几MB内存,而你运行的程序运算调用大师资源时,这两字节的差距就会带来很大的优势。
但这种方法也有它的缺点--两字节能表现的不同数字非常有限--只有65536个。于是,前面我们所讲的资源表不能无限拉伸,其中的序号最多只有65536个,于是问题来了,当调用了65536个资源后,再想调用更多的资源,纵使内存空间还有1GB,足以存储数百亿个资源,但是只有2字节的资源表却无法生成更多的序号,没有序号也就意味着无法将各资源区分开来,就用程序自然无法使用这些没有“户口”的资源。
三、不得不说的“空闲内存”的谬误
windows是一个贪婪的家伙,它总是试图充分利用系统中所有内存。当程序退出后,系统会把程序代码保留在内存中,供再次需要时使用,剩余的内存将会补充到文件缓存中,“支援”缓存工作。不过,一旦有新程序进入,需要占用内存时,“支援”工作会立刻停止,腾出空间来供新程序使用。因此,实际上很少会有什么“空闲内存”,这个称呼并不准确,正确的说法应该是“windows当前能找到并可用内存”。一些号称“管理”和“清理”内存的软件,很容易让人错误地认为“只有空闲的内存才可以使用”,实际上这是不对的,相反这类优化程序往往会降低系统性能,增加了大师虚拟文件。这就是为什么使用了内存整理程序后,性能而大大降低。
四、如何设置虚拟内存
(一)可能引起“内存溢出”或虚拟内存不足问题的原因。
1.虚拟内存的最大值太小,或者分区剩余空间不足,以至于windows在要求更在虚拟内存时没有足够空间。
2.虚拟内存的页面文件损坏(一般是非正常关机造成的),可以先删掉虚拟内存文件再设立(怎么删不用我说了吧?)
3.如果使用Intel的芯片主板,并且在启动电脑时遇到此问题,则有可能是因为安装了Intel Application Accelerator,将其卸载安装新版本即可。
4.IDE硬盘的驱动程序也可能引起此问题。
(二)设置。
微软的默认设置虚拟内存是内存越大虚拟内存越大,内存越小虚拟内存越小,而小的物理内存恰恰需要更大的虚拟内存。推荐大家使用一半固定一半动态的虚拟内存,也就是固定初始值。一般来说就是物理内存+虚拟内存不少于500MB,此外你也可以用任务管理器查找电脑的内存使用“峰值”,来固定最小最大值,这个做的好处就是不会产生磁盘碎片,我256M内存设384M够用了(注意:此时在性能选项里内存使用调整以优化性能中选择程序而不是系统缓存,不然就等着虚拟内存不足的警告吧)
如果使用2000/XP,可以把簇设置成4KB,这样可以在一定程度上提高虚拟内存的工作效率,提高系统性能。因为4KB正好是系统使用物理内存的基本单位--“页面”占据的内存空间大小。所以按照此方法设置后,当系统使用虚拟内存中的数据时,就无需进行任何中转、缓冲,可以直接使用。
虚拟内存文件最好不要放在系统分区,当系统运行时,不仅要大量读写该分区的windows系统文件,而且要长时间大量读写该分区的虚拟内存文件。如此一来,大量的长时间的读写工作都针对同一个硬盘分区,势必造成“排队式”数据带宽瓶颈,影响性能发挥。如果在非系统盘的每个硬盘分区都设置一部分虚拟内存会怎么样呢?答案是:提高系统性能。因为如果有多个虚拟内存,windows就会根据的运行状况,自动我把读写任务较少的硬盘和分区,俦使用其中的虚拟内存文件。谁没活干我找谁,效率不提高就说不过去了。
最后再说说大内存的最大的好处,可以使用一款RAMDISK的软件,分出一部分设置为虚拟硬盘,把windows的临时文件放在这里,还可以把BT的下载文件先放到这里,因为实际上是在内存中读写,所以根本不存在硬盘磁头的读写问题,当然也就谈不上对硬盘的损害了,但是要注意下载完后要用时拷贝到硬盘中,不然重启后你就什么也找不到了。

调节虚拟内存:右击我的电脑-----属性-----高级------性能-----设置-----高级-----虚拟内存-----更改------自定义大小------输入数据(一般为物理内存的1.5-2倍)-----设置------确定
虚拟内存设置过小,运行大型游戏时内存不够,游戏有停顿不流畅甚至死机现象。
硬盘划出空间作为虚拟内存使用的地方易产生磁盘碎片,虚拟内存设置过大,产生的磁盘碎片多,占用硬盘空间多,读取速度也受到影响。

niu