[游戏或软件] 禁用XP或2003的虚拟内存可以大幅度提高系统性能

bookong 2009-07-04
对,是2G
icewubin 2009-07-04
bookong 写道
对,是2G

那就加到3G或4G吧,2G玩大型游戏是少了点。
jpscx 2009-07-08
在xp和2003中“虚拟内存”的这个翻译有些混淆。

在系统属性中是指页面文件,即代替内存的文件。

但是在任务管理器中指的是一个进程私有提交内存的大小,这部分内存可以在物理内存中,可以在页面文件中,如果进程仅仅是提交了内存而没有使用,那么这些内存只是由操作系统预留,不会占用任何物理内存或页面文件空间。在vista中已经被修改为“提交内存”。

任务管理中的“物理内存”是指一个进程的工作集,是进程占用的物理内存的部分。同样在vista中已经更改了。

在一台物理内存足够的机器上,可以看到这两部分基本上是相同的,表明程序使用的内存基本在物理内存中。所以说程序启动后的内存一半在物理内存中一半在页面文件中是错误的。对于oracle这种程序,它为了保证性能一下提交了很多内存,但并不一定会使用(大多数是数据缓存),所以“虚拟内存”会比“物理内存”大很多。也有一些程序“物理内存”比“虚拟内存”大,这是因为这些程序的共享工作集较大。

在windows中,所有程序可以提交的内存总数不能超过物理内存+页面文件大小(即使提交后不使用),如果运行很多像oracle这样的进程,是需要设置页面文件的。如果只是运行一般的程序,用一点内存就提交一点的,在物理内存足够的情况下还是可以考虑禁用页面文件。
icewubin 2009-07-08
jpscx 写道
在windows中,所有程序可以提交的内存总数不能超过物理内存+页面文件大小(即使提交后不使用),如果运行很多像oracle这样的进程,是需要设置页面文件的。如果只是运行一般的程序,用一点内存就提交一点的,在物理内存足够的情况下还是可以考虑禁用页面文件。

前面说得很好,最后一段不一定吧。

我们公司的服务器4台win2003,还有2台虚拟机上XP,都装了Oracle,4个10g,2个9i,都是禁用虚拟内存的,没有出现任何不正常啊。

据我所知,Oracle所谓的提示,仅仅是“担心”物理内存不够而已,完全不影响正常使用的。
icewubin 2009-07-08
jpscx 写道
程序启动后的内存一半在物理内存中一半在页面文件中是错误的

我说的是有点问题,你可以这样做实验,虚拟内存大小设置成一个区间范围,例如100MB-2000MB,然后每启动一个程序或应用,你都可以顺便观察一下虚拟内存文件的大小变化。由一个侧面,可以知道windows有多频繁的读写虚拟内存文件。
jpscx 2009-07-09
如果物理内存为2G,所有oracle实例的内存分配的和大于2G,那么这些实例不能全部启动,但是如果设置了页面文件,可以全部启动。这种情况确实很少出现,意义也不大。

实际上对于一个进程来说,物理内存和页面文件没有任何区别,进程可见是在32位系统上2G或3G的可用内存空间。程序显示使用页面文件的方式我只知道有内存映射文件分配在页面文件中一种。

禁用页面文件对蓝屏时内存dump有影响,当然也基本没人用这个文件去调试。
jd2bs 2009-08-05
家用的大部分情况下只要内存2G含以上 基本可以禁用

不过现在貌似有些3D游戏 狂吃内存 真是垃圾啊
swen00 2009-09-11
安装贴子做法,禁用了虚拟内存,发现跑的开发工具和程序一多就报虚拟内存不足了,程序启动不了了,哎,我的idea配置了512M,开2个就1G了,再加程序等,看来这种方式不适合我。
icewubin 2009-09-11
swen00 写道
安装贴子做法,禁用了虚拟内存,发现跑的开发工具和程序一多就报虚拟内存不足了,程序启动不了了,哎,我的idea配置了512M,开2个就1G了,再加程序等,看来这种方式不适合我。

你内存多大?idea配置成256-768MB。

不够加内存啊,我到了新的公司,一看,只有2G,立马自掏腰包加到4G。当内存消耗高的时候,速度快了不是一点半点。
icewubin 2009-09-11
火星叔叔马丁 写道
自掏腰包干吗

立即让他们加 不加就说因为开发机性能问题 造成项目延误

申请了,没批,我就自掏腰包了,在之前的那家公司我也是这么干的,我无所谓这些钱,虽然不禁用也能工作,我只是单纯觉得不爽而已。
Global site tag (gtag.js) - Google Analytics