| |
剖析Windows用1G内存还慢的原因 |
出处:爱好者论坛 |
|
| [ 2005-08-18 10:58:57
] |
作者:佚名
|
责任编辑:linjixiong |
你知道吗?
微软64位操作系统没1GB内存就别玩
在32位Windows 2000/XP中,最大支持4GB的内存,每个应用程序最多只能使用2GB内存,因为另一半的内存也留给系统使用了。而在64位WindowsXP中,这个限制没有了,每个程序能完全使用4GB内存,除Windows,微软还在开发64位版本的SQL Server 2000和Windows Server2003,不过要运行这些应用程序,需要你的电脑至少得有1GB内存。 4.时过境迁,妙计成缺陷
但这种方法也有它的弊端——两个字节能够表现的不同数字非常有限
我们可以做个实验:请你写不同的数字。如果只准你写一位数,那就只能写出十个不同数字。如果限制写两位数,虽然能写出更多,但总数仍然有限。以此类推,允许位数越多,能写出的不同数字就越多。但只要位数有限制,写出的不同数字的总数就始终有限。同理,如果允许系统使用4字节的序号,那么在这个"位数限制"下,可以有几十亿个不同的序号可供使用。但如果只准系统使用2字节序号,能用的序号就会锐减到65536个。于是,前面我们讲的资源表就不能无限的拉长。其中的序号最多只有65536个
于是问题来了。当调用了65536个资源后,再想调用更多的资源,纵然内存空间还有1GB,足以存储数百亿个资源,但只有2字节的资源表却无法生成更多的序号!没有序号,就意味着无法将各资源区分开来,应用程序自然无法使用这些没有"户口"的资源!事实上,因为没有序号可用,系统根本无法同时调用65536个以上的资源。
但在10MB内存都是奢望的年代,要同时调用数十万个资源根本就是"无稽之谈"。所以当时的Windows设计者们没有把这个问题放在心上,果断地选用了资源表,选用了2字节序号。
今天,操作系统算是得到报应了。内存便宜了,资源表和2字节序号仍然给我们节省了内存空间,但它带来的坏处却远远超过了它带来的好处。我们有足够的内存空间,可以调用数百万个资源,但资源表里面只有65536个序号!所以同一时间内,内存中只能有65536个资源!还有1GB内存空间可用?等着吧!
5.真正"耗资源"的是谁?
明白了上面的道理,就不难分辨除了大个文件,大个程序外,真正消耗系统资源的是哪些程序了:
★ 调用大量细小资源,把桌面装饰的花里胡哨的软件
★ 各种多媒体播放软件
★ 监视系统的工具软件
★ 能在字体菜单里面预览字体的应用程序(如MS Office)
另外,在Windows 9x n/Me中运行16位程序(如DOS程序)时,Windows会划定一块内存供所有这类程序使用。除非所有16位程序都已经关闭,这块内存是不会被释放的。
6.大内存的优势到底在哪里?
难道大内存就没有作用了吗?内存厂商在骗钱?当然不是。当一个应用程序被启动后,Windows的一些组件也随之被启动,这是很常见的事情。当应用程序被关闭,Windows会保留那些组件不关闭,因为可能很快还要用到。同理,程序启动时调进内存的少数资源,也不会随着程序关闭而退出内存。
这时,大内存的有时正可以得到体现了。一方面,大内存可以一次性容纳大量数据,减少使用性能远不如内存的硬盘作为虚拟内存使用的几率,提高数据调用速度。另一方面,关闭程序过后,更多的常用数据会有充足的空间保留在内存中不被清除。一旦重启程序,你会发现明显比使用小内存时快!
二、大内存使用精要
1.把内存变成你的硬盘
如果你的内存实在富裕,那么可以使用微软专门为Windows2000设计的RAMDISK,它能把部分内存虚拟成一块硬盘,把本来保存在硬盘的数据虚拟到内存中。比如,将Windows的临时文件,Internet的临时文件放置到这个虚拟磁盘中。大家知道,内存的速度要比硬盘速度快多了,这样能大幅提高数据读取速度,使Windows运行更加高效,同时,由于数据实际保存在内存中,所以在关机后,其中的数据就会消失,因此能在一定程度上加强系统安全性。
|
 |
|
 |
|
|
|