切换到宽版
  • 1921阅读
  • 5回复

Windows 7内存占用大的原因 [复制链接]

上一主题 下一主题
离线大树
 

只看楼主 倒序阅读 0 发表于: 2011-04-16
现在我们知道了当内存中有所需程序页面的时候会使程序启动变得更快。而Windows7中的“Superfetch”已经具有了学习的功能,自从第一次使用Windows 7时,Superfetch就开始记录我们的使用习惯,将我们经常使用的程序的页面在开机后进行提前加载,那么当我们第一次开启程序的时候便可以获得像第二次开启一样的速度了。所以这些预加载的页面就会使得我们的内存占用变多。简单地说就是让所有程序操作在内存中进行,避免使用硬盘硬调页空间,这也就是为何感觉Windows7占用很大内存的原因。

  查看预加载的内存

  而在XP时代,也许你也有过类似的经历:当开始使用一些程序后,由于有事便离开了。回来的时候却发现系统响应十分缓慢,特别糟糕。这是由于XP的内存管理模式效率非常低下。

  当我们离开后,程序都处于不使用状态。这时系统的一些后台程序,如磁盘整理、杀毒软件等程序就会“全速运行”,导致我们使用的一些程序页面不得不被挤到了硬盘虚拟内存中。可是当这些后台程序完成任务后,XP系统并不会把之前被挤到虚拟内存的页面导回内存里。于是在再次使用电脑时,系统才会手忙脚乱的进行临时调配,甚至是硬调页。导致程序响应极其迟缓。所以看上去XP的空闲内存很多,事实上都没起什么太大的作用。

  Windows 7 使用建议

  任何人都希望通过优化的手段让自己的电脑运行速度达到最理想的状态,而内存又是影响电脑运行速度非常重要的因素,我们在了解了Windows7的内存管理机制,再来介绍哪些方法可以给系统加速。

  1、多使用休眠和睡眠

  由于SuperFetch要在开机后进行预加载,所以建议大家不要关机。尽量使用“休眠”或“睡眠”,这样SuperFetch的预加载内容就会保留。从而提高速度和效率。

  2、使用ReadyBoost

  很多从XP升上来的用户由于系统的内存不够大,所以无法全面的发挥SuperFetch的功能。我们可以使用“ReadyBoost”功能来帮我们解决这个难题。

  只要符合条件的闪存都可以加速我们的系统。ReadyBoost功能是利用闪存的容量作为SuperFetch预加载页面的储存空间。但由于微软采用了特殊的算法,所以并不会影响闪存的寿命。还有,用于ReadyBoost的闪存最好为物理内存大小1~2.5倍。如果系统物理内存足够大的话,就没有必要使用ReadyBoost了。右键点击U盘盘符选择属性,切换到readyboost一栏,速度达到标准的U盘都可以开启这个功能。  

  不是所有U盘都能使用

  通过对SuperFetch的了解,希望更多的朋友进入使用Windows7的队伍中来。其实同为Windows,不同又能到哪里呢?不习惯也就是一时的。毕竟,经过了Vista的磨练,Windows7也会变得更成熟!

  小贴士:什么是工作集

我们可以简单的将内存理解为“数据结构”+“工作集”的一个结合,简单的说,应用程序在运行过程中进程所占用内存中的工作空间就叫做工作集。  
360优化一下开机项及服务项,win7开机之后就是占500M左右运行内存,很正常

从网上给你找了点东西
Windows 7华丽的界面是以牺牲内存占用为代价的,在使用Windows 7的时候经常提示内存不足,导致程序没反应或者窗口丢失花屏之类的现象,但是通过任务管理器查看剩余内存空间,其实还是空闲不少的,那到底是什么导致了Windows 7提示内存不足呢?其实内存不足多是因为默认的Desktop Heap区间被占满所致,除了desktop heap区的限制外,默认的用户句柄(User Handle)GDI 句柄(GDI Handle)限制同样是导致内存不足的原因。

  下面就提供一个解决方案:

  打开注册表编辑器,开始-运行-regedit,找到以下键值。

  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]

  DeviceNotSelectedTimeout=15

  “GDIProcessHandleQuota”=dword:00002710

  “Spooler”=”yes”



  “swapdisk”=”"

  TransmissionRetryTimeout=90

  “USERProcessHandleQuota”=dword:00002710

  “LoadAppInit_DLLs”=dword:00000001

  “AppInit_DLLs”=” ”

  找到GDIProcessHandleQuotaUSERProcessHandleQuota

  GDIProcessHandleQuota项设置GDI句柄数量,默认值为2710(16进制)/10000(10进制),该值的允许范围为 256 ~ 16384 ,将其调整为更多的数值尝试。

  USERProcessHandleQuota项设置用户句柄数量,默认值同样为2710(16进制)/10000(10进制),该值的允许范围为 200 ~ 18000 ,将其调整为更多的数值尝试。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水

只看该作者 1 发表于: 2011-04-16
消灭零回复
看帖回帖是美德
离线xywk8381

只看该作者 2 发表于: 2011-04-16
用以楼上的说
离线kkxxjqq

只看该作者 3 发表于: 2011-04-16
谢谢楼主的分析 终于明白为什么WIN7开机时间越长用的就越顺畅了。。
离线lfrz
只看该作者 4 发表于: 2011-04-17
离线z123320

只看该作者 5 发表于: 2011-04-17
用户被禁言,该主题自动屏蔽!