什么是物理内存
简单的说,物理内存是真正的内存,基本就是内存条上的内存。而虚拟内存是为了满足系统对超出物理内存容量的需求时在外存(如硬盘)上开辟的存储空间。由于虚拟内存其实是放在外存上,因而与物理内存相比读写速度都非常慢。
物理内存,在应用中,自然是顾名思义,物理上,真实的插在板子上的内存是多大就是多大了。看机器配置的时候,看的就是这个物理内存。
关于可用物理内存的问题:由于系统要占用一部分物理内存,因此可用的物理内存必然比总的物理内存少。至于多少是正常的,可以参考干净的系统进行比较。
简单来讲就是文件数据交叉链接的活动文件。是WINDOWS目录下的一个"WIN386.SWP"文件,这个文件会不断地扩大和自动缩小。虚拟内存有如像CPU的L1和L2缓存和硬盘的512K-2M缓存。具体分析来讲如果电脑只有64M物理内存的话,当读取一个为100M的可执行文件时,就必须要用到比较大虚拟内存,文件先会被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟住就会把虚拟内里储存的文件释放到原来的安装目录里了。
虚拟内存,这个概念就要稍微了解一下CPU了,^_^,只是稍微,毕竟我们现在谈的是应用中的概念。我们应该知道,对于一般的32位CPU,有32根地址线,那么它的寻址空间就是4GB。也就是说,如果没有其他的限制,我们的主板上最大可以安装4GB的物理内存。哈哈,一般的机器是不会装那么多物理内存的,大把的银子啊,性价比可合不上。程序员可不管这个,我们对CPU编程,不能一台机器根据你物理内存的大小我编一个程序吧?那也太原始社会了吧。所以程序员都是直接使用的4GB的奢侈的进程空间(或许,不应该用奢侈这么短视的词。曾几何时,128M的物理内存也是我们不可想象的呢?)。这怎么办?总不能不用那些程序了吧。好吧,这个问题交给OS去解决吧。这样,OS就提出了一个虚拟内存的概念。就是进程、用户、不必考虑实际上物理内存的限制,而直接对4GB的进程空间进行寻址。如果所寻址的数据实际上不在物理内存中,那就从“虚拟内存”中来获取。这个虚拟内存可以是一个专门文件格式的磁盘分区(比如linux下的swap分区),也可以是硬盘上的某个足够大的文件(比如win下的那个i386文件,好像是这个名字)。物理内存中长期不用的数据,也可以转移到虚拟内存中。这样的交换由OS来控制,用户看起来就好像物理内存大了一样。有了虚拟内存的概念,我们就可以自由的使用4GB的进程空间了。但是,前提是你的硬盘由足够的空间,而且你舍得划分出(4GB-物理内存)大的虚拟内存空间来。^_^。一般情况下,虚拟内存的大小,各个OS也进行了限制(比如linux的swap分区的大小,win下也可以调整虚拟内存文件的大小和位置)。所以,我们程序所能使用的存储空间大小就是:物理内存+虚拟内存
只要把虚拟内存放到另一个盘就是最好的!
在使用方面,首先我认为把虚拟内存放到另一个盘里可以减少磁盘的碎片,在磁盘整理方面更加充分,如果只用WIN98自己管理虚拟内的话,可以仔细看看在WIN98下的磁盘碎片整理过程中会出现好多不能移动的文件,是白红色的,其实那些就是虚拟内存的文件。因为WIN98在使用完虚拟内存之后没有及时得到释放,先会表现成这样的。如果你把虚拟内存设置到另一个盘,同时把WINDOWS目录里的WIN386.SWP的文件删除,再做一次磁盘碎片整理,你会发现那些白红色的文件会少了很多。另一个好处就是可以减少文件在交换时产生的磁盘碎片,例如把c:先做一次完全整理之后你再把C:里的文件又删又重装3-4次,再用一次磁盘碎片整理会快很多。从比较来看物理内存越大虚拟内存越少,性能就会越好。
设置虚拟内存的最佳方法
首先讲讲WIN98应如何设置虚拟内存,如果只有64M物理内存的话就设置为160虚拟内存,128M物理内存的就设置250M虚拟内存,如果是256物理内存就虚拟128M虚拟内存(主要是看你使用什么软件如果是3DSMAX4.0或PHOTOSHOP6.01的话绝无问题。),如果是以打机为主可以设为80M虚拟内存,如果是384-512物理内存的话可以虚拟32-64M虚拟内存。WIN98最好物理内存不要超过512M,因为在WIN98系统中内存越大性能就会有所下降,因为WIN98能充分使用内存只是在24M以下可以充分使用。加上WIN98系统中内存越大就会另到CPU内存寻址时间越长从而使性能下降。
WIN2000和XP虚拟内存的设置,建议这两操作系统最好是CPU达1G和物理内存是256M,7200转2M缓存的硬盘,因为WIN2000和XP在内存使用方面不同WIN98,物理内存越大性能就越高。最好就是有512N-1G的内存。具体设置,如果只有64M物理内存的话就设置200M虚拟内存,128M物理内存就设为250M虚拟内存,如果是256M物理内存(只做服务器用的就虚拟16M-32M虚拟内存,而3DSMAX或PHOTOSHOP6.01的话可以设为60M-120M虚拟内存)。如果是512M-1G或以上的物理内存就设为16-32M虚拟内存。在WIN2000和WINXP能够充分地使用物理内存。
【注意】如果是C:是操作系统盘的话就把虚拟内存放到D:到,最好就是D:首先必需要是个空盘。如果是双硬盘的话最好把虚拟内存设置到从盘。磁盘碎片整理如果是WIN98最好是使用WINME里的DEFRAG.EXE移植到WIN98文件夹WINDOWS里,直接覆盖就行了,还有把WINDOWS目录下的APPLOG删除它是一个隐藏的文件。或者使用第三方软件,如VOPTME、诺顿的SPEEDDISK。如果是WIN2000和WINXP最好是使用本身自带的磁盘碎片整理,第三方软件就用Diskeeper、诺顿的SPEEDDISK。如果出现了内存不足的情况下可以再把虚拟内存调大些。还有的就是记住最好不要禁用虚拟内存,最少都要设置2M-4M虚拟内存否则会有一些软件是不能使用或出错的。经过这些优化后性能一定会有提升。
