Windows中的内存管理 1999年 第32期 10版 #1 1.什么是内存 随机访问内存(RAM,Random-access memory)一般简称为内存,是电脑系统在工作中用来存储应用程序、数据以及操作系统的存储区域。所有的程序在运行前必须将程序代码装入内存,正在运行程序的活动数据,如我们打开记事本输入的文本字符,也驻留在内存中。内存对于电脑系统具有重要和特殊的意义。 内存的大小是以字节为单位,一个字节就是一个8位二进制数,我们也常用KB、MB等单位来表示内存大小(如^321001a^): 在早期的PC电脑中,如IBM PC的8086芯片的电脑,内存很少,一般只在640KB左右,现在,电脑的内存都是以MB记了。 #1 2.我的电脑该配多大内存 由于内存是存放执行程序的代码以及相关数据的,操作系统的内核,包括设备驱动程序,都要占用内存空间,随着操作系统的不同,应用程序的不同,要求的系统内存也是不同的(如^321001b^)。 *商业应用要求是指经常运行Office(Word、Excel)、IE、大型数据库软件等程序,专业应用是指经常运行需要大量内存的图形图像软件,如PhotoShop、3D MAX、视频剪辑、CAD辅助设计等,专业应用有时还可能需要上千兆的内存。 我们在配备内存的时候,可以参考以下原则: ●内存越多越好,内存对系统速度的提高有相当明显的作用。 ●根据系统的用途来确定内存的多少,如果要使用大型程序,就应该配备大内存,特别是图形图像软件。 ●注意内存和系统的搭配,内存大小和显存大小、CPU速度、硬盘速度是相互制约的关系。 ●如果经常使用内存驻留程序,如ICQ网络寻呼机、KILL98防毒工具、系统监视工具等,就要内存多些。 ●系统如果要作为网络上的文件服务器、打印服务器,就要配备大内存。 ●系统如果任务需要,必须同时运行多个程序,打开多个程序窗口,就需要多配备内存。 #1 3.物理内存和虚拟内存 Win95/98的系统内核是32位的代码(称为Win32),最多可以使用4GB的内存空间,但实际上的内存不会有这么多。所谓的物理内存就是我们实际上为电脑配备的内存芯片的数量,一般多块芯片组成一个内存条,插在系统主板的内存插槽中。所有的应用程序竞争使用物理内存。在物理内存的容量有限的计算机系统中,这些内存会很快用完,这时,Windows就要将最近很少使用的内存数据保存到硬盘中的一个虚拟内存文件中去,腾出些物理内存供新的应用程序使用。实际上,Win95可将大多数驻留在内存中的数据,包括本身的一些驻留内存的数据(除了1.2MB的保留数据)交换到硬盘上的虚拟内存文件中去。 Windows中使用了虚拟内存来解决物理内存的不足,实际上,多大的物理内存也不可能满足系统一个长期持续的内存需求(例如持续不断地打开一百个程序窗口,或者打开一个巨型数据库),使用虚拟内存就可以满足系统一个这样的请求。虚拟内存用硬盘空间来虚拟实际的物理内存空间,并暂时存储物理内存中的不活跃数据,当系统需要这些数据的时候,物理内存再从硬盘上的虚拟内存文件(也称为交换文件)中读回这些数据。 各种Windows中使用的虚拟内存各不相同,Windows 3.x将虚拟内存文件设定为30MB(静态交换文件),而Win9X的虚拟内存文件没有大小的限制(动态交换文件),只是被交换文件所在的硬盘分区的剩余空间所限制。 Win95/98是自动管理虚拟内存文件的大小,当在Win95中启动一个应用程序的时候,系统创建一块和应用程序代码相同大小的交换区域,当关闭程序的时候,交换区域也自动勾销。也可以手动设置系统的虚拟内存文件大小,设置方法如下: A.鼠标右键点击“我的电脑”图标,在弹出的菜单中选择“属性”,弹出系统设置窗口。也可以从控制面板中打开。   B.在系统设置窗口中,选择“性能”标签,点击下面的“虚拟内存”按钮,弹出虚拟内存设置窗口。(如^321001c^) C.Win95/98系统默认情况是让Windows自动管理虚拟内存,一般情况下我们可以不用手动调节虚拟内存,但由于Windows自动管理虚拟内存是在系统分区设置交换文件,如果系统分区的剩余空间比较小,或者碎片空间比较多,则有可能严重影响系统的性能,例如在进行3D图形渲染的时候,由于要使用大量的虚拟内存空间,有时可能多达几百兆,而C盘的空间明显不足,这时可以手动设置虚拟内存。 D.手动设置虚拟内存,先选择“用户自己指定虚拟内存设置”,然后在“硬盘”栏中设置虚拟内存交换文件所在的硬盘,一般选择一个剩余空间较大的,不常使用的硬盘,然后在“最小值”中设置最小值(可以不设),在“最大值”栏中设置最大值,最大值可以设置为硬盘的最大剩余空间,一般可以根据程序需要设置(建议为100MB~300MB)。 #1 4.磁盘高速缓存 所谓磁盘高速缓存,就是系统在读取磁盘、光盘上的数据的时候,采取预读取技术,将估计要读取的数据预先读到内存中。设置磁盘高速缓存可以明显地加快读取磁盘数据的速度。Windows可以根据内存的多少自动设置高速缓存,当然,根据系统的内存情况多少,也可以手工设置高速缓存的大小: A.鼠标右键点击“我的电脑”图标,在弹出的菜单中选择“属性”,弹出系统设置窗口。也可以从控制面板中打开。 B.在系统设置窗口,选择“性能”标签,点击下面的“文件系统”按钮,在打开的窗口中选择“硬盘”标签。(如^321001d^) C.拖动“预读式优化”的调节杆,可以设置预读条件,在“此计算机的主要用途”栏,主要设置系统利用高速缓存的比例,如果系统的内存较多,可以选择“网络服务器”,这样,系统将用较多的内存来作为高速缓存。 D.在CD-ROM标签中,可以直接调节系统用多少内存作CD-ROM光盘读写的高速缓存,注意要在“最佳访问方式”中选择“四倍速或更高速”,这样系统将根据情况设置缓存的大小。也可以调节“追加的高速缓存大小”栏中的调节杆,追加高速缓存。 #1 5.合理使用系统内存 #1 A.内存监视 系统的内存总是会用完的,虽然有虚拟内存,但由于硬盘读写的速度不可和内存相提并论,大量、频繁地使用虚拟内存将使电脑操作变得难以忍受,所以在使用内存的时候,就要注意监视内存的使用情况,Windows中提供了一个系统监视器,可以监视内存的占用情况,另外还有一个简单的办法,就是在任何一个Win95的文件窗口中,选择“帮助/关于Windows 95”菜单,在打开的窗口中就可以看到目前内存资源的占用情况,一般如果只有60%的资源可用,就要警惕了。 #1 B.释放内存 如果系统内存不多,就要时刻注意释放内存。释放内存就是将驻留内存的数据从内存中释放出来。释放内存最简单、最有效的方法就是重新启动机器。另外就是关闭运行的程序,包括在后台运行的程序,例如防毒监视程序。有些应用程序不能用一般的方法关闭,这时就要用“Ctrl+Alt+Del”键来关闭任务。另外注意剪贴板如果储存了一幅图像,是要占用大量内存空间的,只是可以剪贴几个简单的字符将图像数据从内存中冲掉。后台打印的数据也会占用大量的内存空间。 #1 C.优化内存数据 在Windows中,驻留内存的数据很多,像桌面快捷图标、任务栏中的图标、系统托盘中的时间等都要占用内存资源,如果内存紧张,可以考虑优化这些项目,尽量少用各种后台驻留的程序,特别是设计不好的程序,要占用大量的内存资源。平常在使用电脑的时候,不要同时打开太多的窗口,或者在程序中打开太多的数据文件。另外,长时间使用电脑后,内存的数据排列有可能比较混乱而引起性能下降,这时可以重新启动系统。 #1 D.提高系统的其他部件性能 电脑系统的其他部件的性能,对内存的效能也有巨大的影响。例如,总线类型、CPU、显存、硬盘速度。如果显存太小,而显示的数据量很大,再多的内存也是没有办法提高系统效能的。如果硬盘的速度太慢,特别是平均寻道速度太慢,则将严重影响系统的虚拟内存的读写速度,造成整个系统的速度下降。