locked
win7 内存使用问题 RRS feed

  • 问题

  • WIN 7  32位 6G内存
    资源管理器里显示可以使用3G内存  设置4G   RAMDISK  放在高位地址(此时是有1G系统可以直接使用的内存被RAMDISK占用了,我的实际可用内存还剩2G)
    但是现在当资源管理显示内存使用量为2.5G时(其中1G是RAMDISK占用的,我实际在使用的内存是1.5G)  系统就开始强行关闭程序(我禁用了虚拟内存)  那剩下的0.5G哪里去了  XP下资源管理里显示的3G内存可以全部用完的
    HELP
    2010年2月16日 14:43

答案

  • Win7 - 32bit系统可以用到4G的内存
    这里需要用到一个软件 ReadyFor4GB.exe
    这个软件通过破解Windows PAE 内核文件 ntkrnlpa.exe,绕过 ZwQueryLicenseValue API 函数的许可限制,使工作站版本 32位 x86 的 Vista/Windows 7 支持超过 4GB 物理内存。
    原文地址在:http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm

    其实看看就知道,x86支持4G内存是有可能的,看看server版本的系统,32bit的照样可以完全读出4G内存,所以桌面级的系统从本质上来说是可以的

    补充一句,RamDisk有没有用处是因人而异的,我用RamDisk是因为我需要高速缓存做数据传输,所以选择了用RamDisk分割一部分内存出来作为虚拟盘
    而RamDisk模拟出来的空间并不能当内存使用,作为虚拟内存也太小了,没有什么实际用处,所以大家可能觉得没有用
    • 已建议为答案 JasonMing 2010年2月21日 16:52
    • 已标记为答案 Shirley Long 2011年3月31日 9:15
    2010年2月21日 16:47

全部回复

  • 都6g内存了,理所应当装64位,干吗死抱着32位不放呢。
    2010年2月16日 15:36
  • 这个。。。3个原因
    第一只有正版的32位的WIN7
    第二软件、驱动上64位不咋地
    第三6G内存就是为了ramdisk  要不个人使用这么大内存何用?

    2010年2月16日 15:41
  • 32位系统使用4GB以上内存确实存在很多争论。大部分观点认为RAMDISK并不能够把不识别的内存虚拟为磁盘
    我是小小DIYer
    2010年2月16日 15:47
  • 这个观点我可以直接驳斥了  至少在我的机器里用XP是可以完全使用

    AMD Athlon  5000+
    华硕M2N-E主板

    PS:从硬件角度讲  所谓的设备占用的地址与实际的RAM并没有什么直接联系  重新映射后的一样可以使用
    • 已编辑 fghlw 2010年2月16日 16:04
    2010年2月16日 15:58
  • 现在我的问题也可以换成是:  到底是什么原因导致资源管理器显示的3G可用内存不能完全使用
    既然显示是可用3G  并且现在只占用了2.5G  剩余的为什么不允许使用?
    2010年2月16日 16:00
  • 你好。

    出现这种情况有几种可能:

    1、 就是显卡占用了(你的是独显还是集显?)

    2、 系统是32位的支持不了这么大的(有些人说32位就只认2.5G 只有装64位才能认到4G)

    备注:网上有人说在BIOS里开memory remapping就可以。





    我们要把爱心传递给更多需要帮助的人。
    微软(黑龙江).Net俱乐部:http://hlj.cnblogs.com
    博客:http://terryfeng.cnblogs.com
    微博:http://t.sina.com.cn/terryfeng
    个人:http://www.terryfeng.com
    2010年2月17日 3:46
  • 这个。。。3个原因
    第一只有正版的32位的WIN7
    第二软件、驱动上64位不咋地
    第三6G内存就是为了ramdisk  要不个人使用这么大内存何用?


    我认为最好的解决方法就是你打电话问问m$能不能把你这个32位的转成64的(实在不行下一个吧)。
    第二,能透露一下什么设备没有64的驱不,64位驱动问题我就一共碰上2次,一次是打印机一次是手机,最后都找到了解决方法,目前还没有因为驱动而使不了的设备。
    第三,6g并不是很大,如果玩虚拟机肯定能用上。现在vmware能玩部分3d游戏,内存大了可以双开,多爽啊,刷吧。
    2010年2月17日 4:39
  • 楼上的俺CPU没那么好啊。,,3年前的机器了  如果要用虚拟机的话  我喜欢用  大便+KVM或VB一类  VM大块头了点  用起来好过WIN 
    另外不是显卡占用的  XP下是没有什么问题的。。
    报三围吧
    CPU  AMD 速龙X2 5000+
    主板  M2N-E
    内存  KINGMAX  1G *2  2G  *2
    显卡  7600GE(GS)
    声卡  A2ZS
    • 已编辑 fghlw 2010年2月21日 17:42
    2010年2月17日 10:48
  • 32位XP可以认3G的  (这个估计和主板BIOS或使用的设备有关系,但是我的应该是可以的  除非WIN7重新映射了一次)
    另外资源管理器里显示了  系统可用是3G的
    “memory remapping”  内存重映射肯定是开了的  我觉得是WIN7不知道什么原因导致的
    2010年2月17日 10:53
  • 这个。。。3个原因
    第一只有正版的32位的WIN7
    第二软件、驱动上64位不咋地
    第三6G内存就是为了ramdisk  要不个人使用这么大内存何用?


    网上有一种说法,32位Windows 7的序列号也可以用在64位的版本上,也就是说两者的序列号是一致的,楼主可以试一下
    2010年2月18日 2:15
  • 你好,

    6G内存建议装Win 7 64位系统,不然有不能识别的内存,用起来比较浪费



    黄俊贤 Tommy Huang

    TechNet中文论坛ID j-mcgrady
    WinOS社区ID VirtualTom
    http://blogs.itecn.net/blogs/virtualtom
    一起共同学习和交流,共同进步
    2010年2月18日 2:47
  • 32位XP可以认3G的  (这个估计和主板BIOS或使用的设备有关系,但是我的应该是可以的  除非WIN7重新映射了一次)
    另外资源管理器里显示了  系统可用是3G的
    “memory remapping”  内存重映射肯定是开了的  我觉得是WIN7不知道什么原因导致的
    32 位系統實際可用內存依據硬件占用不同而不同, 有的系統可用內存可以達到 3 個多 GB, 有的只有 2.5 GB.
    另外不知你在文中所提的 "資源管理器" 是指 "Windows 任務管理器" 還是 "系統屬性" 窗口? 如果是前者, 那么推薦使用 "資源監視器" 查看內存使用.

    訪問路徑:

    按 Ctrl+Shift+Esc 彈出 "Windows 任務管理器" 窗口 - 選擇 "性能" 選項卡 - 單擊 "資源監視器(R)..." 按鈕 - 需要 UAC 提升權限 - 彈出 "資源監視器" 窗口 - 選擇 "內存" 選項卡即可查看物理內存的使用情況, 你需要注意一下硬件部分的占用情況.

    另外一篇相關帖子:

    32位vista安装了4gb内存可是物理内存只有2gb
    http://social.microsoft.com/Forums/zh-CN/vistazhchs/thread/99048cee-b7ad-4d95-8069-f9fe2752beeb

    P.S. 如果樓主使用的是零售版 (OEM 版不適用) Windows 7, 那么可以把現在的32 位 Windows 7 卸載, 而後安裝 64位 Windows 7, 最後用現在這個序列號激活.
    Folding@Home
    2010年2月18日 4:53
  • 产品密钥与架构无关,你是正版的Win7,本身就应该有两张光碟,有一张是64位的。

    要使用>3GB的内存就必须使用64位的系统,这个与系统原理有关。
    要使用>4GB的内存就必须使用64位处理器,这个与微机原理有关。

    Microsoft MVP for Windows Desktop Experience https://mvp.support.microsoft.com/profile/Huayu
    2010年2月18日 11:59
  • 谢谢  哪里看都是“3G”  准确的说是显示3070M
    2010年2月18日 13:11
  • 谢谢斑竹
    但还是解释不了啊  我现在的问题是  自身本来应该可以使用的部分也用不成
    2010年2月18日 13:13
  • Ramdisk都是没用的工具,没有电脑技术的人才会说这工具可以把32BIT地址扩展的内存拿出来用,反而浪费内存!我现在在用WIN2003 ENTERPRISE,4G内存都只是可以兼容到3.9G左右。WIN7只是一个桌面性的系统,不用64BIT还是一样的兼容不全内存!
    2010年2月20日 18:11
  • Ramdisk都是没用的工具,没有电脑技术的人才会说这工具可以把32BIT地址扩展的内存拿出来用,反而浪费内存!我现在在用WIN2003 ENTERPRISE,4G内存都只是可以兼容到3.9G左右。WIN7只是一个桌面性的系统,不用64BIT还是一样的兼容不全内存!

    楼上的。。如果地址IO线只有32位  那么没错  是只能直接寻址4G  扣除设备占用的就只剩3G多了
    但是64BIT地址线硬件是存在的  也是可以访问控制的(物理上) 程序上32BIT总线进行64BIT访问完全没有任何问题  这个不需要争论,无意义 虽然32BIT系统不直接允许这么做
    用32BIT访问只会降低效能  但不是不能(高位直接当作IO控制就可以了,至少这种方法就可以实现  不管RAMDISK是什么方法)
    另外  6G内存我在32BIT  XP下全部用光:主存1G  5G RAMDISK  使用近1年  没有任何问题。别争论可不可以的问题了
    2010年2月20日 23:22
  • Ramdisk都是没用的工具,没有电脑技术的人才会说这工具可以把32BIT地址扩展的内存拿出来用,反而浪费内存!我现在在用WIN2003 ENTERPRISE,4G内存都只是可以兼容到3.9G左右。WIN7只是一个桌面性的系统,不用64BIT还是一样的兼容不全内存!

    楼上的。。如果地址IO线只有32位  那么没错  是只能直接寻址4G  扣除设备占用的就只剩3G多了
    但是64BIT地址线硬件是存在的  也是可以访问控制的(物理上) 程序上32BIT总线进行64BIT访问完全没有任何问题  这个不需要争论,无意义 虽然32BIT系统不直接允许这么做
    用32BIT访问只会降低效能  但不是不能(高位直接当作IO控制就可以了,至少这种方法就可以实现  不管RAMDISK是什么方法)
    另外  6G内存我在32BIT  XP下全部用光:主存1G  5G RAMDISK  使用近1年  没有任何问题。别争论可不可以的问题了
    6G内存在32bit XP中全部用光?你太神了,我想知道你的主板是什么主板呢?有这么高的内存兼容性!在我看来只有WIN2003企业版才有这样的神功呢!Ramdisk这样的工具只是用来放放临时文件,像IE、Firefox的缓存垃圾就可以的。请上传图片来作证,不要只发那个“系统属性”,请看MSinfo32的信息!和看资源管理器!
    2010年2月21日 13:43
  • 硬件上面帖子写了。。
    我是完全拿这个替代本来写在硬盘上的那些缓存  另外下载的电影之类(小于4G的 PS:这玩意我只会让它工作在FAT32模式上NFFS谁教教俺)也放在上面  全部弄好后才一次性存盘
    这里怎么上传图片?

    2010年2月21日 15:41
  • http://bbs.leowood.net/incomefiles/20102/220303794507.JPG
    再补一张  磁盘管理器里看不到RAMDISK  旁边是资源管理器(这张可以证明我没无聊到在硬盘上建一个小分区出来)  现在没问题了吧


    PS:磁盘1 怎么出来5个主分区了?(本来是3个主分区  第一个分区在安装LINUX时用它的磁盘划分程序删除并重新划分成3份  就成现在的样子了  WIN竟然识别出5个主分区?多出来的那个表放在什么位置?)
    2010年2月21日 16:31
  • Win7 - 32bit系统可以用到4G的内存
    这里需要用到一个软件 ReadyFor4GB.exe
    这个软件通过破解Windows PAE 内核文件 ntkrnlpa.exe,绕过 ZwQueryLicenseValue API 函数的许可限制,使工作站版本 32位 x86 的 Vista/Windows 7 支持超过 4GB 物理内存。
    原文地址在:http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm

    其实看看就知道,x86支持4G内存是有可能的,看看server版本的系统,32bit的照样可以完全读出4G内存,所以桌面级的系统从本质上来说是可以的

    补充一句,RamDisk有没有用处是因人而异的,我用RamDisk是因为我需要高速缓存做数据传输,所以选择了用RamDisk分割一部分内存出来作为虚拟盘
    而RamDisk模拟出来的空间并不能当内存使用,作为虚拟内存也太小了,没有什么实际用处,所以大家可能觉得没有用
    • 已建议为答案 JasonMing 2010年2月21日 16:52
    • 已标记为答案 Shirley Long 2011年3月31日 9:15
    2010年2月21日 16:47
  • Win7 - 32bit系统可以用到4G的内存
    这里需要用到一个软件 ReadyFor4GB.exe
    这个软件通过破解Windows PAE 内核文件 ntkrnlpa.exe,绕过 ZwQueryLicenseValue API 函数的许可限制,使工作站版本 32位 x86 的 Vista/Windows 7 支持超过 4GB 物理内存。
    原文地址在:http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm

    其实看看就知道,x86支持4G内存是有可能的,看看server版本的系统,32bit的照样可以完全读出4G内存,所以桌面级的系统从本质上来说是可以的

    补充一句,RamDisk有没有用处是因人而异的,我用RamDisk是因为我需要高速缓存做数据传输,所以选择了用RamDisk分割一部分内存出来作为虚拟盘
    而RamDisk模拟出来的空间并不能当内存使用,作为虚拟内存也太小了,没有什么实际用处,所以大家可能觉得没有用RAM

    RAMDISK上创建PAGE文件  就可以利用它充当“内存”了  其实主要是解决某些软件必须PAGE和WIN的陋习而已

    另外我发这些图片正是我现在WIN7下截出来的(32BIT的)  虽然有大概0.5G的可用物理内存不能用  但是作为RAMDISK的那部分(4G)完全可用完  不需要破解那个函数(也可能这个软件自动破解了)
    2010年2月21日 17:38
  • 谢谢您的回答 但这个不能作为我的问题的答案啊

    我问的是在我的系统下  为什么本来系统用该可以直接访问的那部分内存  系统却不能使用  或者说不使用?
    2010年2月21日 17:40
  • 内存不能使用是因为对应的地址空间已经无法映射到内存对应的区域,所以操作系统无法识别部分内存
    按道理32bit系统拥有2^32=4GB的地址的,但是由于MMIO(Memory-mapped I/O)会占据高位地址的部分空间,导致高位地址被占用
    所以系统无法找到部分的内存,因为地址不足,但是这部分内存是未被占用的。

    具体的在远景论坛上有张转贴说明的http://bbs.pcbeta.com/thread-645114-1-1.html
    这张帖子很详细的说明了为什么内存被“吃掉”的原因

    2010年2月22日 6:07
  • 这个。。。3个原因
    第一只有正版的32位的WIN7
    第二软件、驱动上64位不咋地
    第三6G内存就是为了ramdisk  要不个人使用这么大内存何用?


    1.WIN7的授权模式是不分架构的,也就是说你购买了WIN7就同时会有X64和X862个版本的光盘盒使用权限。如果没有请咨询8008203800来确认你购买版本和渠道
    2.基本上能在WIN7X86上运行的软件一般都能在X64上运行,就算不行也有XP MODE来支持。(游戏除外)
    3.在6G内存的情况下使用6G物理内存+6G虚拟内存绝对比3G内存+3GRAMDISK快,最主要的是稳定的多。不相信没有关系,你可以试试玩孤岛危机2等大型单机试试。

    至于你说的情况只能找RAMDDISK公司做技术支持,WIN7 X86无法支持到4G或以上内存。

    因为我是笨笨的所以我是笨笨ONE,当然我的身边还有个可爱的笨笨TWO。
    2010年2月22日 6:29
  • 谢谢您的回答 但这个不能作为我的问题的答案啊

    我问的是在我的系统下  为什么本来系统用该可以直接访问的那部分内存  系统却不能使用  或者说不使用?

    Win7 - 32bit系统可以用到4G的内存
    这里需要用到一个软件 ReadyFor4GB.exe
    这个软件通过破解Windows PAE 内核文件 ntkrnlpa.exe,绕过 ZwQueryLicenseValue API 函数的许可限制,使工作站版本 32位 x86 的 Vista/Windows 7 支持超过 4GB 物理内存。
    原文地址在:http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm

    其 实看看就知道,x86支持4G内存是有可能的,看看server版本的系统,32bit的照样可以完全读出4G内存,所以桌面级的系统从本质上来说是可以 的

    补充一句,RamDisk有没有用处是因人而异的,我用RamDisk是因为我需要高速缓存做数据传输,所以选择了用RamDisk分 割一部分内存出来作为虚拟盘
    而RamDisk模拟出来的空间并不能当内存使用,作为虚拟内存也太小了,没有什么实际用处,所以大家可能觉得没有用 RAM

    RAMDISK上创建PAGE文件  就可以利用它充当“内存”了  其实主要是解决某些软件必须PAGE和WIN的陋习而已

    另 外我发这些图片正是我现在WIN7下截出来的(32BIT的)  虽然有大概0.5G的可用物理内存不能用  但是作为RAMDISK的那部分(4G)完全可用完  不需要破解那个函数(也可能这个软件自动破解了)


    fghlw,请你清醒一点吧,像Ramdisk这些只会占用内存的工具,不用也罢,你用一段时间后会觉得这些工具形同虚设,浪费时间的同时还把自己的数据给掉失!4G内存在XP 32bit是不可能完全的占用!这是共识,只有WIN2003企业版这些在系统内核做过一点的功夫,以适应企业的高配置使用的!相关链接请看:http://www.microsoft.com/china/windowsserver2003/evaluation/features/compareeditions.mspx
    2010年2月22日 7:22

  • 丢数据是当然的  本来就是RAM么  只是作为高速硬盘用

    我光作为RAM盘就已经是4G了 4个G的数据实实在在写在那里了 你要的图我也截了 楼上的亲自试过吗?  

    斑竹说的可能没错  这个问题比较麻烦

    2010年2月22日 9:35

  • 丢数据是当然的  本来就是RAM么  只是作为高速硬盘用

    我光作为RAM盘就已经是4G了 4个G的数据实实在在写在那里了 你要的图我也截了 楼上的亲自试过吗?  

    斑竹说的可能没错  这个问题比较麻烦


    楼主能上个资源监视器的内存页的图吗? (资源监视器:开始菜单运行perfmon.exe)
    因为帖子太多了,我也不是很清楚你想要说明一个什么问题。

    按照你的说法,4G高位给Ramdisk了,应该剩下2G可用,在资源监视器的页面下面的那个条状图前面灰色段(为硬件保留)应该为4G

    2010年2月23日 15:43
  • 顺便贴个图,上面谁说Win732位不能用4G内存的???
    看看图再说……
    http://www.zmdz.com/bbs/incomefiles/20102/24122945079.JPG
    • 已编辑 JasonMing 2010年2月24日 4:08 修改贴图地址
    2010年2月23日 17:04
  • 请不要用QQ的相册,QQ加密过不可以链接,难道你不知道吗?
    2010年2月23日 17:37

  • 丢数据是当然的  本来就是RAM么  只是作为高速硬盘用

    我光作为RAM盘就已经是4G了 4个G的数据实实在在写在那里了 你要的图我也截了 楼上的亲自试过吗?  

    斑竹说的可能没错  这个问题比较麻烦


    楼主能上个资源监视器的内存页的图吗? (资源监视器:开始菜单运行perfmon.exe)
    因为帖子太多了,我也不是很清楚你想要说明一个什么问题。

    按照你的说法,4G高位给Ramdisk了,应该剩下2G可用,在资源监视器的页面下面的那个条状图前面灰色段(为硬件保留)应该为4G


    谢谢 
    http://www.zmdz.com/bbs/incomefiles/20102/2448884701.JPG   这个是“资源监视器”的图片 
     
    按我的理解硬件保留应该是3G。 RAMDISK只是个驱动级的软件  资源管理器里应该只是显示了系统“允许的资源”(当然包含了被RAMDISK占用的1G,PS:在XP下面资源管理器也是显示“可用3G”但是开机启动后显示已使用的内存是1.3G左右 与7相同)  对WIN 而言RAMDISK始终只是个特殊的软件而已,不应归为“硬件保留”而只是“软件占用”

    我的理解是这样子  RAMDISK是个驱动类的软件。  “驱动”本身就包含了对硬件的IO操作  可以直接对硬件调度的所以访问硬件方面应该可以绕过系统的API。 至于与系统的软件接口和怎样处理系统自身访问物理内存方面不清楚(这点上我的理解是 我们现在用的计算机是“串行”的  总线上同时只有“一个”数据出现 硬件本身同时也只能处理“一个”指令  所以如果RAMDISK有足够高的权限 是不会妨碍系统对内存的访问的 当然这样做的代价是内存的效率低了N多)

    不知道我的理解是否正确  欢迎拍砖

    另:我的问题应该是系统导致的  比如什么东西占用了那部分地址  或者 系统的什么乱七八糟的限制
          WIN太烂了 搞地这么封闭  不是软件兼容的问题  早换LINUX了


     
    2010年2月23日 20:13
  • 都6g内存了,理所应当装64位,干吗死抱着32位不放呢。

    理由很简单  64BIT现在还是小众产品。。。。
    我也想换啊
    2010年2月23日 20:39
  • 我未曾用 RamDisk 將不可用的內存容量作為虛擬硬盤用, 也不清楚該功能具體的實現方法. 找到了一篇相關原理的帖子, 可以參考一下.

    原始鏈接:
    http://bbs.pcbeta.com/archiver/tid-413990.html

    注意: 該文中提到的某些方法, 可能導致最終用戶許可協議失效.
    Folding@Home
    2010年2月24日 2:21

  • 丢数据是当然的  本来就是RAM么  只是作为高速硬盘用

    我光作为RAM盘就已经是4G了 4个G的数据实实在在写在那里了 你要的图我也截了 楼上的亲自试过吗?  

    斑竹说的可能没错  这个问题比较麻烦


    楼主能上个资源监视器的内存页的图吗? (资源监视器:开始菜单运行perfmon.exe)
    因为帖子太多了,我也不是很清楚你想要说明一个什么问题。

    按照你的说法,4G高位给Ramdisk了,应该剩下2G可用,在资源监视器的页面下面的那个条状图前面灰色段(为硬件保留)应该为4G


    谢谢 
    http://www.zmdz.com/bbs/incomefiles/20102/2448884701.JPG   这个是“资源监视器”的图片 
     
    按我的理解硬件保留应该是3G。 RAMDISK只是个驱动级的软件  资源管理器里应该只是显示了系统“允许的资源”(当然包含了被RAMDISK占用的1G,PS:在XP下面资源管理器也是显示“可用3G”但是开机启动后显示已使用的内存是1.3G左右 与7相同)  对WIN 而言RAMDISK始终只是个特殊的软件而已,不应归为“硬件保留”而只是“软件占用”

    我的理解是这样子  RAMDISK是个驱动类的软件。  “驱动”本身就包含了对硬件的IO操作  可以直接对硬件调度的所以访问硬件方面应该可以绕过系统的API。 至于与系统的软件接口和怎样处理系统自身访问物理内存方面不清楚(这点上我的理解是 我们现在用的计算机是“串行”的  总线上同时只有“一个”数据出现 硬件本身同时也只能处理“一个”指令  所以如果RAMDISK有足够高的权限 是不会妨碍系统对内存的访问的 当然这样做的代价是内存的效率低了N多)

    不知道我的理解是否正确  欢迎拍砖

    另:我的问题应该是系统导致的  比如什么东西占用了那部分地址  或者 系统的什么乱七八糟的限制
          WIN太烂了 搞地这么封闭  不是软件兼容的问题  早换LINUX了


     
    Ramdisk的确是驱动级的软件,是通过加载一个Ramdisk的驱动来实现使内存作为虚拟磁盘的,所以前面被Ramdisk占用的空间是属于为硬件保留的
    而我看你的图是没有问题的啊?Ramdisk占了3G,剩下的3G是给操作系统的,不是吗?

    另外,补回一张图,忘记了QQ空间的图片外人不能访问的
    Win7 32bit可以成功用3.2G以上的内存:http://www.zmdz.com/bbs/incomefiles/20102/24122945079.JPG
    2010年2月24日 4:08
  • 楼上的注册地真快   PS:CPU似乎和我的相同  哈哈 
    我没觉得这个有问题啊 
    我提的问题是  系统可访问那3个G的内存 系统不让用完只能用到2.5G左右  然后再启动程序就不断报错  而且已启动的程序也会被强行关闭  为什么会这样?
    按道理来说RAMDISK应该是使用连续的内存  如果定义地址放在“高位”  那么实际我的系统作为自身资源可用的那2G所在的位置应该在“低位”  部分  这种情形理论上与只是用了2G内存是相同的  但。。。。晕乎乎

    实在懒得装系统了
    2010年2月24日 4:40
  • 所以说,非Server的系统现在不装了!桌面操作系统比服务器版的功能少很多!
    2010年2月24日 6:00
  • 楼上的注册地真快   PS:CPU似乎和我的相同  哈哈 
    我没觉得这个有问题啊 
    我提的问题是  系统可访问那3个G的内存 系统不让用完只能用到2.5G左右  然后再启动程序就不断报错  而且已启动的程序也会被强行关闭  为什么会这样?
    按道理来说RAMDISK应该是使用连续的内存  如果定义地址放在“高位”  那么实际我的系统作为自身资源可用的那2G所在的位置应该在“低位”  部分  这种情形理论上与只是用了2G内存是相同的  但。。。。晕乎乎

    实在懒得装系统了

    这个可能是Ramdisk的问题。
    如果映射的地址在系统识别范围之外,也就是3.2G以上的内存的话,就应该不会出现问题。
    由于Ramdisk是绕过OS的内存管理直接使用设备IO对内存进行读写的,如果占据了OS可以识别的部分,这样就可能会和OS的内存管理发生冲突
    所以建议尽量将Ramdisk设置在3.2G以外的内存中,由于系统不会对那部分内存进行管理,所以应该不会出现你所说的情况
    2010年2月24日 6:31
  • 楼上的注册地真快   PS:CPU似乎和我的相同  哈哈 
    我没觉得这个有问题啊 
    我提的问题是  系统可访问那3个G的内存 系统不让用完只能用到2.5G左右  然后再启动程序就不断报错  而且已启动的程序也会被强行关闭  为什么会这样?
    按道理来说RAMDISK应该是使用连续的内存  如果定义地址放在“高位”  那么实际我的系统作为自身资源可用的那2G所在的位置应该在“低位”  部分  这种情形理论上与只是用了2G内存是相同的  但。。。。晕乎乎

    实在懒得装系统了

    这个可能是Ramdisk的问题。
    如果映射的地址在系统识别范围之外,也就是3.2G以上的内存的话,就应该不会出现问题。
    由于Ramdisk是绕过OS的内存管理直接使用设备IO对内存进行读写的,如果占据了OS可以识别的部分,这样就可能会和OS的内存管理发生冲突
    所以建议尽量将Ramdisk设置在3.2G以外的内存中,由于系统不会对那部分内存进行管理,所以应该不会出现你所说的情况

    我是这样设置的  是从高位使用的
    如过是这个原因那这个问题又回到的原来的讨论:系统该识别可以读写的还是那3个G  如果是由RAMDISK占用了的话 那在资源管理里应该显示为“已使用的内存” 应该作为RAMDISK的“系统软件属性”(我们假设的前提是RAMDISK具有“系统软件”和“系统驱动 也就是内存驱动和磁盘的模拟”2个属性) 在WIN看来被这个“软件”用掉了  而不会显示开机只用了“1.9G”左右 也不会显示只到2.5G附近就不能使用了  因为应该显示成“已使用”(大于3G的内容系统根本不关心也根本不知道使用情况)
    2010年2月24日 17:55
  • 网上看到一个解释  关于“资源监视器”里“备用"内存的 是说这部分内存是系统自动加载了一些“可能用到”的东西 当有别的内存请求时可以释放出来“共享”的   也就是系统先已经用东西填满了备用的(当然系统是可以正常管理了)  这样系统报错就更让人怀疑是7的问题了
    http://www.zmdz.com/bbs/incomefiles/20102/2448884701.JPG  我”资源监视器“的截图
    http://www.114dn.com/pc/os/win/2009/1209/338.html文章来源

    2010年2月24日 17:56
  • 这里可能有一些是Win7内存管理的问题了吧,已经涉及到了很深入的部分了,我也不是很清楚其原因是什么
    不过我猜测可能有以下的原因:
    1. 地址和内存并不一定是连续对应的,由于RamDisk绕过了OS的内存管理,直接访问设备,假设其使用了3G~6G范围的内存空间,如果地址和内存空间的映射是连续对应的话,系统根据地址访问到的内存就应该是0~3G的范围;但是如果不是连续对应的,恰好某部分的地址映射到了内存3G以上的位置的话,OS就和RamDisk“共享”了一个区域的内存了
    2. 由于Win7的内存管理技术会将某部分程序缓存至内存中,由于是缓存,可能不会对数据的有效性进行校验,所以你能看见那部分区域是能存放数据的,但是一旦那段区域存放的是激活的代码,一执行的时候就会出错了,所以看出来的结果就是死活过不了2.5的那个区域

    不过以上说法并不是所有都有根据的,有的只是我的猜测
    2010年2月24日 19:08
  • 这里可能有一些是Win7内存管理的问题了吧,已经涉及到了很深入的部分了,我也不是很清楚其原因是什么
    不过我猜测可能有以下的原因:
    1. 地址和内存并不一定是连续对应的,由于RamDisk绕过了OS的内存管理,直接访问设备,假设其使用了3G~6G范围的内存空间,如果地址和内存空间的映射是连续对应的话,系统根据地址访问到的内存就应该是0~3G的范围;但是如果不是连续对应的,恰好某部分的地址映射到了内存3G以上的位置的话,OS就和RamDisk“共享”了一个区域的内存了
    2. 由于Win7的内存管理技术会将某部分程序缓存至内存中,由于是缓存,可能不会对数据的有效性进行校验,所以你能看见那部分区域是能存放数据的,但是一旦那段区域存放的是激活的代码,一执行的时候就会出错了,所以看出来的结果就是死活过不了2.5的那个区域

    不过以上说法并不是所有都有根据的,有的只是我的猜测
    恩 有可能  不过从各方面的信息看  RAMDISK应该只和BIOS交互的  至于地址连续性不清楚  我觉得“共享”不可能  如果那样的话  我填满RAMDISK  系统再“共享” 其结果是RAMDISK内容的出错  但实际上我经常在RAM盘放满电影  另外缓存也在上面  出错的话容易察觉  系统也会崩溃 (内存被覆盖了)
    第二个基本同第一个  按磁盘存储的原理  如果盘数据区被覆盖  那么资源管理器的显示上倒是不会出错  但是数据一定错  这个问题是严重的  而且既然是“预读”用得到的可能性也是很大的  一旦被覆盖。。后果很严重

    我的电脑几乎不关机  没发现什么严重问题

    想换回XP了。。。。哪里是人用电脑  简直是被电脑用。。ORZ
    2010年2月24日 21:28
  • 呵呵,其实Win7加上kernel patch的话还是很好用的
    始终RamDisk的稳定性无法做到像OS的内存管理那样,也不必太纠结于RamDisk了
    自从出了Kernel Patch之后我现在都不用RamDisk了
    2010年2月25日 16:33
  • 呵呵,其实Win7加上kernel patch的话还是很好用的
    始终RamDisk的稳定性无法做到像OS的内存管理那样,也不必太纠结于RamDisk了
    自从出了Kernel Patch之后我现在都不用RamDisk了

    很少使用那么大的内存  不玩虚拟机  就为了使用RAM盘才买的内存
    另外如果破解内核的话  还是上64位好了
    用32位读写64位 效率降低不小于一半(理论上)
    2010年2月25日 21:15
  • WIN什么时候能改善下内存的管理?

    2010年2月25日 21:17
  • 另外  如果使用64BIT系统  跑32BIT程序  岂不是还是只有“3G“  应该不会对数据压缩  否则效率会比32BIT高?
    所以目前64BIT还是。。
    2010年2月26日 19:53
  • 另外  如果使用64BIT系统  跑32BIT程序  岂不是还是只有“3G“  应该不会对数据压缩  否则效率会比32BIT高?
    所以目前64BIT还是。。
    64Bit的系统就可以用到完全4G的内存了,64bit的系统的内存管理方式和32的不用,用户界面的程序有硬件无关性,跑32bit的程序还是可以用到4G的
    2010年2月27日 8:27
  • 另外  如果使用64BIT系统  跑32BIT程序  岂不是还是只有“3G“  应该不会对数据压缩  否则效率会比32BIT高?
    所以目前64BIT还是。。
    64Bit的系统就可以用到完全4G的内存了,64bit的系统的内存管理方式和32的不用,用户界面的程序有硬件无关性,跑32bit的程序还是可以用到4G的

    另开了个帖子讨论这个问题
    2010年2月27日 21:55
  • http://bbs.pcbeta.com/thread-413990-1-2.html
    看来和我想的不是很一样  并不需要直接IO内存  BIOS来做了好像
    2010年3月7日 14:08
  • http://bbs.pcbeta.com/thread-413990-1-2.html
    看来和我想的不是很一样  并不需要直接IO内存  BIOS来做了好像

    我想說的是你看帖子不夠細心, 因為同樣的帖子我之前提供過鏈接.

    我未曾用 RamDisk 將不可用的內存容量作為虛擬硬盤用, 也不清楚該功能具體的實現方法. 找到了一篇相關原理的帖子, 可以參考一下.

    原始鏈接:
    http://bbs.pcbeta.com/archiver/tid-413990.html

    注意: 該文中提到的某些方法, 可能導致最終用戶許可協議失效.

    Folding@Home
    2010年3月7日 14:13
  • 额 这个  32位不支持 6G只能显示3.25G
    Windows System & Performance
    2010年3月7日 16:27
  • 如果是零售版本 在家庭高级版以下的都是一张碟子就是32位 ,家庭高级版以及以上的都是一个32位碟子一个64位 里面的序列号确实是可以激活任意一个32位或是64位 但是64位的驱动有点难找........
    Windows System & Performance
    2010年3月7日 16:30
  • 如果是零售版本 在家庭高级版以下的都是一张碟子就是32位 ,家庭高级版以及以上的都是一个32位碟子一个64位 里面的序列号确实是可以激活任意一个32位或是64位 但是64位的驱动有点难找........
    Windows System & Performance

    标准驱动程序Win7基本具备,我已经用64Bit很久了,8G内存,很稳定。
    2010年3月8日 15:00

  • 丢数据是当然的  本来就是RAM么  只是作为高速硬盘用

    我光作为RAM盘就已经是4G了 4个G的数据实实在在写在那里了 你要的图我也截了 楼上的亲自试过吗?  

    斑竹说的可能没错  这个问题比较麻烦


    楼主能上个资源监视器的内存页的图吗? (资源监视器:开始菜单运行perfmon.exe)
    因为帖子太多了,我也不是很清楚你想要说明一个什么问题。

    按照你的说法,4G高位给Ramdisk了,应该剩下2G可用,在资源监视器的页面下面的那个条状图前面灰色段(为硬件保留)应该为4G


    谢谢 
    http://www.zmdz.com/bbs/incomefiles/20102/2448884701.JPG   这个是“资源监视器”的图片 
     
    按我的理解硬件保留应该是3G。 RAMDISK只是个驱动级的软件  资源管理器里应该只是显示了系统“允许的资源”(当然包含了被RAMDISK占用的1G,PS:在XP下面资源管理器也是显示“可用3G”但是开机启动后显示已使用的内存是1.3G左右 与7相同)  对WIN 而言RAMDISK始终只是个特殊的软件而已,不应归为“硬件保留”而只是“软件占用”

    我的理解是这样子  RAMDISK是个驱动类的软件。  “驱动”本身就包含了对硬件的IO操作  可以直接对硬件调度的所以访问硬件方面应该可以绕过系统的API。 至于与系统的软件接口和怎样处理系统自身访问物理内存方面不清楚(这点上我的理解是 我们现在用的计算机是“串行”的  总线上同时只有“一个”数据出现 硬件本身同时也只能处理“一个”指令  所以如果RAMDISK有足够高的权限 是不会妨碍系统对内存的访问的 当然这样做的代价是内存的效率低了N多)

    不知道我的理解是否正确  欢迎拍砖

    另:我的问题应该是系统导致的  比如什么东西占用了那部分地址  或者 系统的什么乱七八糟的限制
          WIN太烂了 搞地这么封闭  不是软件兼容的问题  早换LINUX了


     
    Ramdisk的确是驱动级的软件,是通过加载一个Ramdisk的驱动来实现使内存作为虚拟磁盘的,所以前面被Ramdisk占用的空间是属于为硬件保留的
    而我看你的图是没有问题的啊?Ramdisk占了3G,剩下的3G是给操作系统的,不是吗?

    另外,补回一张图,忘记了QQ空间的图片外人不能访问的
    Win7 32bit可以成功用3.2G以上的内存:http://www.zmdz.com/bbs/incomefiles/20102/24122945079.JPG

    这个截屏图就是Kernel Patch的效果吧?
    2010年11月29日 4:28