详解Vista/Win7内存管理

   详解Vista/Win7内存管理,对于Windows Vista、Windows7的内存的使用,从XP升级的用户大多都认为:系统空闲时空闲的内存应该越多越好。而到了7的时代(更准确的说是Vista之后),这一个本该转变的观念却还迟迟留在大家的记忆里。所以在此把Windows7新内存管理机制“Superfetch”介绍给大家,让大家了解Windows7内存占用大的原因。

  Windows 7内存管理有何不同

  “Superfetch”并不是一个新的技术,在Vista时代就已经开始采用,不过鉴于用过Vista的人数比较少,而XP时代的各种电脑技巧始终还深入人心,所以很多人都在疑问为何Windows7内存占用如此之大。

  Superfetch内存管理机制会将用户可能使用的应用程序页面利用内存可用空间进行预加载;尽可能地避免系统发生从硬盘的页面调用;让应用程序最快速度开启;不会由于计算机长时间闲置而使突然使用变得响应迟缓;在退出大型应用程序后会主动将之前被迫转移到虚拟内存中的页面重新 调入内存当中。这样看起来似乎专业了点,所以接着往下看,会很好地对这些特点进行理解。

  为何第一次启动程序会感觉很慢?

  相信大家都有过类似的经历。当我开机后,第一次运行一个程序,就比如说是word吧,可能需要5秒才能启动。当我关闭后再开,也许只用2秒。如果我不关闭,直接打开另外一个Word文件,那就更快了。

  这是什么原因造成的呢?

  当我们开机后,工作集里面没有Word这个员工(页面),他还在家(硬盘)里面。于是当我召唤他的时候,它才从家走到办公室(工作集)。这样的 过程就叫做硬调页了,当然需要的时间长。而当我们关闭了Word时候,他就被派往大厦的另一房间,我却马上再次召唤他,这时,另一个房间内的数据还没被清零,他便不用从家里走来,而是直接从数据结构里面引入就可以了。在不关闭这个程序Word的情况下,他也不用为其他程序让路的时候,它还存在于办公室(工作集)里面,召唤他的时候就会更快。这样的“无需从硬盘中重新调用数据,而是将数据结构中的页面重新挂载到工作集中”的过程,便叫做软调页了。大家都知道内存速度远远快于硬盘,所以“软调页”的使用就是第二次运行程序变得很快的原因了。

  Windows 7内存占用大的原因

  现在我们知道了当内存中有所需程序页面的时候会使程序启动变得更快。而Windows7中的“Superfetch”已经具有了学习的功能,自从第一次使用Windows7时,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也会变得更成熟!

  Tips:什么是工作集

  我们可以简单的将内存理解为“数据结构”+“工作集”的一个结合,简单的说,应用程序在运行过程中进程所占用内存中的工作空间就叫做工作集。

时间: 2024-12-03 22:39:59

详解Vista/Win7内存管理的相关文章

Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)【转】

转自:http://blog.csdn.net/gatieme/article/details/51872659 版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme   目录(?)[-] 前景回顾 1 Linux的调度器组成 2 调度工作 进程上下文 1 进程上下文的概念 2 上下文切换 context_switch进程上下文切换 1 context_switch完全注释 2 prepare_arch_switch切换前的准备工

Swift - CocoaPods的安装使用详解(自动安装管理第三方库)

我们开发的时候,常常需要引入一些第三方库(比如:Alamofire.SwiftyJSON 等等).过去的做法是把这些库下载下来,并引入到工程中.如果有依赖其他库的话,还要手动将这些依赖库给添加进来.关键是如果这些第三方库后面有更新的话,我们还要先把项目中原来的库给删除.再重复前面的步骤.这样就很麻烦了. 而使用 CocoaPods 以后,这些工作我们都不需要做.只需做好配置工作,安装更新这些第三方库,CocoaPods 都会自动帮我们做好. 一.CocoaPods介绍 (1)CocoaPods

详解HTTP Cookie状态管理机制_php实例

HTTP cookies,通常又称作"cookies",已经存在了很长时间,但是仍旧没有被予以充分的理解.首要的问题是存在了诸多误区,认为cookies是后门程序或病毒,或压根不知道它是如何工作的.第二个问题是对于cookies缺少一个一致性的接口.尽管存在着这些问题,cookies仍旧在web开发中起着如此重要的作用,以至于如果cookie在没有可替代品出现的情况下消失,我们许多喜欢的Web应用将变得毫无用处. 一.cookie 起源 cookie 最早是网景公司的雇员 Lou Mo

详解Linux系统内存寻址的分页机制

  分页机制在段机制之后进行,以完成线性-物理地址的转换过程.段机制把逻辑地址转换为线性地址,分页机制进一步把该线性地址再转换为物理地址. 硬件中的分页 分页机制由CR0中的PG位启用.如PG=1,启用分页机制,并使用本节要描述的机制,把线性地址转换为物理地址.如PG=0,禁用分页机制,直接把段机制产生的线性地址当作物理地址使用.分页机制管理的对象是固定大小的存储块,称之为页 (page).分页机制把整个线性地址空间及整个物理地址空间都看成由页组成,在线性地址空间中的任何一页,可以映射为物理地址

详解Oracle基于用户管理恢复的处理

Oracle支持多种方式来管理数据文件的备份与恢复来保证数据库的可靠与完整.除了使用RMAN工具以及第三方备份与恢复工具之外,基于用户管理的备份与恢复也是DBA经常使用的方式之一.本文首先介绍了恢复的相关概念,接下来详细讲述了在归档模式下使用基于用户管理恢复的处理过程. 一.恢复的相关概念 介质恢复 首先使用备份还原数据,然后再应用归档日志.重做日志的恢复方式称为介质恢复. 介质恢复能将一个经过还原的数据更新到当前的时间点或之前的某个时间点. 通常介质恢复这个术语专指对数据文件进行恢复的过程.

Linux的命名空间详解--Linux进程的管理与调度(二)

命名空间概念 传统上,在Linux以及其他衍生的UNIX变体中,许多资源是全局管理的. 例如,系统中的所有进程按照惯例是通过PID标识的,这意味着内核必须管理一个全局的PID列表.而且,所有调用者通过uname系统调用返回的系统相关信息(包括系统名称和有关内核的一些信息)都是相同的.用户ID的管理方式类似,即各个用户是通过一个全局唯一的UID号标识. 全局ID使得内核可以有选择地允许或拒绝某些特权.虽然UID为0的root用户基本上允许做任何事,但其他用户ID则会受到限制.例如UID为n 的用户

Linux进程描述符task_struct结构体详解--Linux进程的管理与调度(一)

进程状态 volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ 1 1 state成员的可能取值如下 参见http://lxr.free-electrons.com/source/include/linux/sched.h?v=4.5#L207 /* * Task state bitmask. NOTE! These bits are also * encoded in fs/proc/array.c: get_task

结合XP详解Vista系统配置排查故障图文教程_WindowsXP

如果你曾经在Windows XP下进行过故障排查之类的工作,一定会了解系统配置实用程序的强大之处,也就是我们通常所说的MSConfig.exe.那么如果你升级到Vista后,你同样会发现Vista下的它已经青出于蓝更胜于蓝了,合理的使用它,可以帮你迅速定位和解决故障. Vista下的系统配置工具比它的前任具有更好的功能组织和更简练的用户界面.尤其值得一提的是,它包含了一个工具标签,让你可以轻松的访问和运行操作系统的高级诊断工具. 启动系统配置工具的方法除了使用以前老系统中的办法外,你还可以利用V

关于wamp启动是80端口被占用的问题详解(win7系统下WAMP 80端口被Microsoft-HTTPAPI/2.0占用的解决办法)

原贴地址:http://www.soaspx.com/dotnet/service/service_20120720_9432.html   问题如下图:       网上有关于这个处理办法,说道:   VS2010在更新了SP1后,会在开机时自动启动一个服务,占用WAMP的80端口,导致WAMP无法正常启动Apache.提示信息: Your port 80 is actually used by : Server: Microsoft-HTTPAPI/2.0 Press Enter to ex