Professional Documents
Culture Documents
安装大容量内存后,系统、程序运行效率没有得到大幅度提高,这是因为系统本身运行机制限制了其
管理和运用硬件资源的能力。所以纵然硬件资源非常丰厚,如果超出了 Windows 管理的范围,那么性能
也 不 会 得 到 明 显 提 升 。
内 存 和 硬 盘
许多菜鸟常常将物理内存和硬盘混淆在一起,因为两者的容量都是用 MB 或 GB 这类的单位表示,说
明物理内存和硬盘之间关系的最好比喻是:一个带一张桌子和一个文件柜的小办公室。
文件柜就像硬盘,程序和数据可以长期安全地存放在那里,桌面代表物理内存,允许在办公桌上工作
的人(作用和处理器相同)直接用放在桌面上的任何文件(程序和数据)。为了对一个特定文件进行操作,首先
必须从文件柜中取出文件并放在桌面上。如果桌面够大,可以在桌面上同时打开多个文件。类似地,如果你
有更多物理内存,那么可以运行更多或更大的程序并对更多或更大的资料进行处理。
给电脑增加硬盘空间就好比在办公室里放一个更大的文件柜,而增加更多内存就好比得到一个更大的
办 公 桌 , 可 以 同 时 对 更 多 程 序 和 数 据 进 行 操 作 。
一 、 Windows 这 样 使 用 内 存
1 . 情 景 再 现 : 程 序 与 系 统 的 对 话
2 . 指 针 — — 内 存 中 的 邮 政 编 码
那么这个代号是依据什么标准生成的呢?在绝大多数操作系统中,它是靠一种叫做 "指针"的东西来确
定的。你可以把整个内存想像成一个邮局,邮递员把需要寄往各地的信件分类放到很多个不同的信箱里。信
箱一个接一个,足足占据了一堵墙。每个心细那个都装了一些信件,包含要送往一个特定地区的信息。而且,
就好像每个地区都有邮政编码一样,每一块可以存储数据的内存空间也有一个地址——指针。代表这个存
储空间的一串数字。内存中某部分数据的"指针",也就是这些数据占据的第一处内存空间的地址。所以,如
果我是一个普通的操作系统,有一个应用程序要求我调用一个窗口,我就会按照它告诉我的要求调用这个
窗口进内存,如果这个资源的数据在内存中存储的地址开始于 #1234567,那么我就会返回一条信息给
应 用 程 序 : " 好 了 , 我 调 出 了 这 个 窗 口 , 它 是 #1234567 。 "
3 . 解 决 指 针 带 来 的 问 题
所以,Windows 设计者采用了另外一种替代方案。他们创建了资源表。就是把当前调入内存的所有资
源的信息登记到一个清单。这样一来,当应用程序要求系统调用一个资源时,系统调用后就不给它配发指
针了,而是直接告诉应用程序该资源在资源表中的序号。"好了,我已经调用了你需要的资源,它在资源表
里面的序号是#383"因为需要不是内存地址,所以就可以用一个只需占用 2 字节的数字表示。这只是两个
字节的差距。但当你只有几 MB 内存,而你运行的程序动咎调用大量资源时,这两字节的差距就会带来很
大 的 优 势 。
你 知 道 吗 ?
微 软 64 位 操 作 系 统 没 1GB 内 存 就 别 玩
但 这 种 方 法 也 有 它 的 弊 端 — — 两 个 字 节 能 够 表 现 的 不 同 数 字 非 常 有 限
我们可以做个实验:请你写不同的数字。如果只准你写一位数,那就只能写出十个不同数字。如果限制
写两位数,虽然能写出更多,但总数仍然有限。以此类推,允许位数越多,能写出的不同数字就越多。但只
要位数有限制,写出的不同数字的总数就始终有限。同理,如果允许系统使用 4 字节的序号,那么在这
个"位数限制"下,可以有几十亿个不同的序号可供使用。但如果只准系统使用 2 字节序号,能用的序号就
会锐减到 65536 个。于是,前面我们讲的资源表就不能无限的拉长。其中的序号最多只有 65536 个
于是问题来了。当调用了 65536 个资源后,再想调用更多的资源,纵然内存空间还有 1GB,足以存
储数百亿个资源,但只有 2 字节的资源表却无法生成更多的序号!没有序号,就意味着无法将各资源区分
开来,应用程序自然无法使用这些没有 "户口"的资源!事实上,因为没有序号可用,系统根本无法同时调
用 65536 个 以 上 的 资 源 。
今天,操作系统算是得到报应了。内存便宜了,资源表和 2 字节序号仍然给我们节省了内存空间,但
它带来的坏处却远远超过了它带来的好处。我们有足够的内存空间,可以调用数百万个资源,但资源表里
面只有 65536 个序号!所以同一时间内,内存中只能有 65536 个资源!还有 1GB 内存空间可用?等着
吧 !
5 . 真 正 " 耗 资 源 " 的 是 谁 ?
明白了上面的道理,就不难分辨除了大个文件,大个程序外,真正消耗系统资源的是哪些程序了:
★ 调 用 大 量 细 小 资 源 , 把 桌 面 装 饰 的 花 里 胡 哨 的 软 件
★ 各 种 多 媒 体 播 放 软 件
★ 监 视 系 统 的 工 具 软 件
★ 能 在 字 体 菜 单 里 面 预 览 字 体 的 应 用 程 序 ( 如 MS Office)
6 . 大 内 存 的 优 势 到 底 在 哪 里 ?
难道大内存就没有作用了吗?内存厂商在骗钱?当然不是。当一个应用程序被启动后, Windows 的
一些组件也随之被启动,这是很常见的事情。当应用程序被关闭,Windows 会保留那些组件不关闭,因
为可能很快还要用到。同理,程序启动时调进内存的少数资源,也不会随着程序关闭而退出内存。
这时,大内存的有时正可以得到体现了。一方面,大内存可以一次性容纳大量数据,减少使用性能远
不如内存的硬盘作为虚拟内存使用的几率,提高数据调用速度。另一方面,关闭程序过后,更多的常用数
据会有充足的空间保留在内存中不被清除。一旦重启程序,你会发现明显比使用小内存时快!
二 、 大 内 存 使 用 精 要
1 . 把 内 存 变 成 你 的 硬 盘
第二步:点击 " 开始 è 设置 è 控制面板 " ,双击打开 " 添加 / 删除硬件 " ,接着选择 " 添加 / 排除设备故
障 " 并单击 " 下一步按钮 " ;在出现的 " 选择一个硬件设备 " 窗口中选中 " 添加新设备 " 项,然后单击 " 下一
步 " 按钮;在接下来的窗口中选择 " 否,我想从列表中选择硬件 " 并单击 " 下一步 " 按钮;接着在 " 硬件类
型"列表中选择"其他设备"并单击"下一步";在出现的窗户口中单击 "从磁盘安装"按钮,在弹出的"从磁盘
安装"窗口中将"厂商文件复制来源"设置为 "c:\RAMDISK" ,确定后即出现选择窗口,选中"型号"列表中
的"Ramdisk Driver"项并单击"下一步"按钮,期间 Windows 会出现"没有找到数字签名 "的对话框,单
击 " 是 " 按 钮 进 行 安 装 。
[HEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Servioes\Ramdisk\Parameters]
"BreakOnEntry"=dword:00000000
"DebugLevel"=dword:00000000
"DebugComp"=dword:ffffffff
"DiskSize"=dword:01f00000
"DriveLetter"="R:"
"RootDirEntries"=dword:00000200
"SectorsPerCluster"=dowrd:00000002
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment]
"TEMP"="R:\\"
"TMP"="R:\\"
[HKEY_CURRENT_USER\Environment]
"TEMP"=R:\\"
"TMP"="R:\\"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell
Folders]
"Cache"="R:\\"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell
Folders]
"Cache"="R:\\"
[HKEY_USERS\.DEFAULT\Environment]
"TEMP"=R:\\"
"TMP"="R:\\"
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell
Folders]
"Cache"="R:\\"
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell
Folders]
"Cache"="R:\\"
Ramdisk.reg 文 件 中 键 含 义 为 :
第 四 步 : 关 机 , 然 后 重 启 动 Windows2000 即 可 。
小 提 示
2 . 修 改 注 册 表 发 挥 大 内 存 优 势
现 在 请 打 开 注 册 表 编 辑 器 , 找 到
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession
Manager\MomoryManagement] ,在右侧窗格修改一下键值 (要注意的是,做一下设置的前提是内存
最 好 超 过 512MB , 并 仅 限 于 Windows 2000/XP) 。
(1)"LargeSystemCache"(启动大的系统缓存):在内存中开辟一块大的内存空间用于磁盘文件系统
的预读取操作。当程序连续请求的数据增加时,Windows 通过系统缓存自动预读,使程序能以最快速度
获取所需数据。由于启用这个系统缓冲会占用较多的物理内存,使得能被程序利用的可用物理内存减少。将
其 值 设 为 1 。 这 样 , 系 统 缓 存 从 4MB 增 加 到 8MB 。
(3)DisablePagingExecutive(禁用页面文件):将其值改为 1(十六进制),这样将使所有程序和数据
强制性限定在物理内存中运行,而不是使用虚拟内存。很明显,当有足够多的物理内存来完成所需任务时 ,
这样做必使系统性能得到巨大的提升。对于内存仅有 64MB 的用户而言启用它或许就是灾难——系统频繁
出 错 , 直 至 崩 溃 。
(4)"IOPageLockLimit"(定制输入/输出缓冲尺寸):输入输出系统是设备和微处理器之间传输数据的
通道,当扩大其缓冲尺寸时数据传递将更为流畅。同理,具体设置多大的尺寸要视物理内存的大小和运行
任 务 多 少 来 决 定 , 一 般 来 说 , 如 果 内 存 有 64MB 就 可 将 该 双 字 节 键 的 16 进 制 值 设 置 为
400(1MB)、800(2MB)或 1000(4MB)128MB 内存可设为 1000(4MB)、2000(8MB)或 4000(16MB);
256MB 内存 4000(16MB)或 8000(32MB)。当然如果有更多内存,完全可以将其设为 10000(64MB)甚
至 更 多 。 当 设 为 0 时 , Windows 将 自 动 配 置 。
小 提 示
据 称 , 此 设 置 还 能 够 有 效 解 决 BT 下 载 损 伤 磁 盘 的 问 题 。
3 . Windows98/Me 能 用 1GB 内 存 吗 ?
你 知 道 吗 ?
什 么 是 Vcache ?
(1)128MB~512MB
(2)512MB 以 上 内 存
(3)1GB 内 存
如 果 无 法 进 入 Windows , 那 么 可 在 重 启 时 一 直 按 下 Ctrl 键 直 到 出 现 启 动 菜 单 , 接 着 选
择 "Command Prompt Only" 项 , 在 出 现 命 令 提 示 符 后 , 输 入 "edit system.ini" 并 回 车 , 接 着 在
[386Ehh] 字 段 添 加 "MaxPhysPage=40000" 。
4 . 关 闭 休 眠
很多用户喜欢休眠功能,这样可以实现快速开机功能,但对于大内存的电脑来说,在不经常读、写硬
盘的情况下,最好是把硬盘休眠功能关闭,因为有时也会因此而造成无故死机故障。
5 . 有 大 内 存 就 可 以 不 要 虚 拟 内 存 了 ?
经常看到不少文章介绍,再有了大内存后,就可以将虚拟内存禁用掉。其实不然!比如:
Windows98/Me 对大于 512MB 的内存有先天不足,大于这个数量的内存, Windows98 会出现不稳定
及启动速度变慢的情况。如果使用了大内存加上禁用虚拟内存,不稳定因素将会进一步增加。
另外,Windows 本身的设计是,一旦发现有进程转入不活动状态,就会把分配给它的内存空间映射
到交换文件中,尽可能空出物理内存给其他活动的进程,并不是用完物理内存才开始动用交换文件。因为
如果等到物理内存用完再调用,就已经太迟了。在配制较低的电脑上势必造成数据传输和处理停滞。所以禁
止虚拟内存从原则上来讲,最易引起 Windows 异常,及时不出现运行不了的故障,也会频繁提示虚拟内
存 不 够 , 请 重 新 设 置 云 云 。
你 知 道 吗 ?
6 . 让 大 内 存 为 硬 盘 助 力