系统性能原理和体验优化.doc_第1页
系统性能原理和体验优化.doc_第2页
系统性能原理和体验优化.doc_第3页
系统性能原理和体验优化.doc_第4页
系统性能原理和体验优化.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一直以来,多数人认为在计算机系统中,Windows版本的更新推动着硬件的发展,一个新版Windows的推出势必会将硬件性能指标提升到一个新的高度。而在笔者看来,决定计算机系统发展的主要因素源自用户的需求。随着桌面计算机的应用范围扩展到娱乐、互联网沟通,各类丰富的应用不断带给用户精彩的体验。然而,用户对于各类功能应用需求的不断提高,应用程序自身必须通过更加强大的功能来吸引用户。不知不觉中,各类应用也就提升了对于计算机性能的要求,而在2001年推出的Windows XP已经无法充分利用今天的硬件来满足用户对于各类应用的需求。在阅读到本章之前,你应该已经使用了一段时间的Windows 7了,相信Windows 7在性能方面相对于Windows XP的提升令你深有体会。通过阅读本章,你将会了解过去导致计算机性能不佳的原因,了解Windows 7在性能方面有哪些改进。同时还将学习到一些针对Windows 7有效的优化和常用性能监测工具的使用方法。9.1过去影响性能体验的因素在使用运行Windows XP的计算机时,以下问题从始至终伴随着用户的感受:l Windows XP(包括在这之前的Windows操作系统版本)会随着使用周期的延长性能而出现性能下降;l 系统性能会随着开机时间的延长而下降(注意,区别于上一条,这里代表开机后运行时间);l 登录桌面后首次运行一款应用程序都会比较缓慢;l 系统、计算机或用户模式切换时导致平台整体响应迟缓,如计算机从休眠状态恢复运行、重新启动(冷开机)、账户注销和切换、从闲置状态恢复使用时。导致以上问题出现的因素不仅是由于老版本Windows操作系统自身的不足,同时硬件设备本身的性能起决定性作用。通常用户会认为只要CPU核心足够多、内存足够大、硬盘转速足够快,上面的问题都会最小化,但在实际当中情况并非用户所认为的这样简单,例如对于目前性能最强配备三通道内存的Core i7平台,如果运行Windows XP,那么用户依然会遇到这些问题。那么,究竟老版本Windows操作系统自身存在哪些影响用户体验的因素,甚至连高性能硬件也无能为力,是不是硬件方面漏掉了某个关键影响性能的设备,“随机读取”、“寻道”、“IOPs”、“磁盘碎片”、“页面”这些关键词将会出现在以下的内容中。1来自硬盘的因素首先从硬件方面因素说起,就像本节开头提到的,由于能够带给用户更直观的体验,大多数人认为多核心高频率的CPU能够让游戏速度更快、看高清电影不丢帧、大容量内存可以运行更多程序且不会导致系统缓慢。而硬盘方面,由于目前TB级别的硬盘价格持续走低,加上网络评测媒体普遍着重介绍存储空间与转速,大部分用户对于硬盘的认识也停留在存储空间和复制、移动占用存储空间较大文件的速度上,同时在误导之下会认为这种速度能够帮助提升Windows的运行性能。在这三种设备中,CPU速度最快,以采用QPI总线的Intel i7处理器为例,其双向最高速度可以达到25.6GB/s,其次DDR3-1333MHz内存的速度也能够达到10.7GB/s,这样的性能的确能够给计算机平台带来强劲的动力,不过对于目前任何操作系统来说都是过盛的性能。相比之下,当今计算机普遍使用的机械硬盘却成了阻碍平台整体性能的绊脚石,并且99%的用户没有意识到。虽然硬盘制造厂商不断引入新的技术来提升转速和读写性能,但受限于机械硬盘本身的结构,决定系统和应用程序运行性能的关键并没有实质性的提升,相比当今的CPU、内存的发展,硬盘还停留在远古时代,速度还无法突破1MB/s,这样CPU和内存的性能就会受到限制。硬盘速度未突破1MB/s,你没有看错,一定有读者会反驳,“我的硬盘用软件测量平均读写速度都能超过100MB/s!”这里所说的指并非网络评测媒体所标榜的硬盘复制、移动文件的持续读写速度,而是Windows运行需要用到的随机读取速度。同时传统机械硬盘在单一时间内所能接受的访问次数也是非常少的。单凭此处简单的描述,这两个衡量硬盘性能的标准并不能让各位有直观的认识,因为机械硬盘在多年的使用中,速度并没有慢到让用户实在无法忍受的地步,通过对比,你就会在本章中发现差异。下面先通过用户日常使用Windows过程中的一些普通操作来了解机械硬盘对用户体验的重要影响。在计算机平台中,硬盘和内存分别充当Windows的存储介质和运行介质,从系统启动开始,Windows运行需要的数据会被载入内存,屏幕中所有能够看到的画面都是运行在内存中,当用户启动一款应用程序或执行某项功能操作时,所涉及的数据都会以随机读取的方式载入内存。Windows、应用程序运行和启动需要载入内存的数据绝大多数都是4KB大小的文件。DLL文件可能都会分布在机械硬盘盘片的多个位置,包括主文件表条目、目录、PE磁头、.data页面和.text页面这些物理位置,甚至是另一张盘片,如图9-1所示。另外,在过去使用计算机的过程中,系统登录桌面时硬盘都要面临非常密集的访问,如系统服务启动、开机自动运行应用程序以及用户立刻展开的一些操作。每当硬盘面对这类密集型访问时,衡量效率的标准就是每秒能够接受多少次访问,数值越大,同一时间内多任务完成随机读取时间也就越短,这个标准就是IOPs,目前针对普通桌面计算机的机械硬盘,IOPs每秒都只在100次以内,较低转速的笔记本电脑硬盘以及更早的硬盘IOPs更低。在图9-2中,通过HD Tune Pro测试普通机械硬盘,它的随机读取性能为4KB512KB,究竟是高还是低,通过与本章后面的内容相比较,你就会发现这个数值实在是太低了。如Photoshop、Windows Media Player、IE等大中型应用程序所涉及的DLL文件就有上百个,启动这些应用程序时硬盘磁头就需要执行多次寻道才能完成分布在多个位置上DLL文件的随机读取操作。一个简单的注册表内容更新可能都会需要56次随机读写操作。在这类环节中,随机性能和IOPs是决定性能体验的关键因素,频率再高的内存也无法发挥作用。除了机械硬盘的先天结构导致无法提供较高的随机读取性能和IOPs,在Windows运行过程中频繁的随机擦写操作会产生磁盘碎片,让本来处于盘片高速读取位置数据变得凌乱。这就会给磁头带来额外的工作,降低随机读取性能,也会浪费本身有限的IOPs。因此,磁盘碎片就是导致Windows随机使用周期延长而性能降低的主要因素。图9-2 普通机械硬盘的随机读取速度和IOPs2旧版Windows对于内存的管理方式存在不足当系统出现内存不足的情况时,Windows XP的内存管理机制会将物理内存中暂时不用的内容以随机吸入方式移动到硬盘上的pagefile.sys,也就是用户俗称的“虚拟内存”,这样物理内存就可以腾出更多可用空间以供其他程序使用。与此同时,如果物理内存的可用空间恢复到足够大小时,之前被暂时转存pagefile.sys的页面并不会主动回到物理内存,而是等待用户重新需要使用这些页面对应的操作时才会执行恢复,而此时又是一轮随机读取操作。为了避免出现内存不足的情况,大多数用户会给计算机扩充更大的物理内存或者更新硬件平台使其性能更强,认为这样不仅可以解决内存不足的问题,同时还能够提升日常使用计算机时的性能体验。随着近年来单根内存条存储空间不断提升,价格不断下降,用户计算机普遍的内存容量都能在1GB2GB。大存储空间物理内存可以给Windows的运行提供足够的可用内存空间来并行运行数量更多的应用程序,减少内存不足情况的发生次数,但当老迈的Windows XP面对增加的可用物理内存空间时并不能有效地对其加以利用来提升自身运行性能,它依然使用管理小容量内存的方式,因此内存可用空间再大,用户在日常操作方面感受到的性能体验也只有256MB512MB。说到可用内存空间,这里要纠正用户对于可用内存空间的错误认识。过去一些可以增大可用物理内存空间的优化软件受到很多用户的青睐,当使用这类优化软件对内存进行整理后,用户通过任务管理器看到可用物理内存空间得到了增加,而实际上这种所谓的内存整理优化并没有提升系统的运行性能,反而在一定程度上让系统运行得更缓慢。道理很简单,“优化软件”所谓的整理操作是将内存当中一些看起来暂时不用的页面强行“搬”到硬盘上的pagefile.sys中,从而让物理内存的可用空间看起来增加不少。但如果用户后续操作所涉及的页面被优化软件强行整理到pagefile.sys中,系统就又得重新把这些页面从硬盘中读取到内存,本身存在于内存中的页面就这样来回徘徊于硬盘和内存,造成了更多的硬盘随机读写,性能可想而知。这些优化软件所谓的整理内存并带来更大可用空间实际上破坏了内存中对于用户操作来说正确的数据内容,带来更多的硬盘随机读写操作,大幅度降低系统的性能体验。3任意的资源调用(1)系统后台进程抢占用户资源。在使用Windows XP时,用户普遍有以下经历。早上启动计算机后,应用程序的启动速度很快,并且系统执行各种操作的响应速度很理想。保持计算机开机,当午饭归来重新回到桌面环境时发现执行操作时的响应速度十分迟缓,就连离开前没有关闭并一直处于运行状态的程序也运行得非常慢。导致这种情况发生的因素在前文已经做了分析,在用户中午离开计算机去吃饭的过程中,Windows XP处于空闲状态,此时系统会加载一些后台任务并全速运行,如磁盘碎片整理、病毒扫描。如果当前计算机的物理内存本身就非常小,这些任务会将本身存在于内存中的一些用户进程页面强行移动到硬盘上的pagefile.sys,并且当这些后台任务的进程完成工作后,Windows XP并不会主动将用户数据从pagefile.sys中恢复到内存,因此用户回到长时间闲置的计算机时会发现Windows XP的性能很差。(2)I/O优先级分配不合理。机械硬盘的IOPs有限,每秒只有不到100次,而在Windows XP中,系统后台进程或一些用户并不急于立即操作的项目往往会与用户当前所要进行的操作抢夺磁盘访问优先级,由于机械硬盘的IOPs很低,因此也就出现了前文当中描述过的情况,在登录系统桌面时,一些系统服务、开机自动启动项目会优先执行,因此用户必须等待这些项目完成执行后才能开展自己的工作,或者一些第三方病毒防护软件会在例行安全检查时使用高优先级别扫描硬盘,这会影响用户正常使用Windows的体验。Windows XP在磁盘I/O方面无优先级分配可言,大大影响用户使用计算机时的性能体验。4计算机模式的切换在了解了传统机械硬盘、任意的资源调用对于用户性能体验带来的影响后,相信此处所说的计算机模式切换所带来的性能下降便不难理解,这其中一些模式切换会不可避免地出现内存通过机械硬盘随机读取数据的情况,如计算机冷启动后登录桌面环境,也就是正常开机、重启、注销、再登录时的体验,这时势必有大量不可避免的随机读取硬盘操作。系统从休眠状态恢复运行,同样也会伴随大量随机读取硬盘操作,当然还包括用户回到处于长期闲置状态的桌面环境的情况。首页资讯空间学生论坛博客下载读书网摘程序员外包书店网址CTO俱乐部乐知教育D9区 精品连载 书友会 图书指数榜 收藏秀 特色书架 出版圈子 读书讨论群 读书博客 社区银行 图书品种:235680种书友会 连载 Tag 用Google进行全文检索 用百度进行全文检索热门搜索: ASP.NET Ajax Spring Hibernate Java9.2Windows 7全新的性能体验在Windows 7中,通过新的内存管理机制弥补由于传统机械硬盘所带来的性能阻碍、改善系统运行过程中非紧要任务与用户应用的资源调用,你会感觉到与运行Windows XP相比,Windows 7可以让计算机被封印的性能得以发挥。9.2.1 改进的内存管理可以将用户使用计算机的过程看作是操作系统在使用内存,因此Windows管理内存的方式决定着最终的性能体验。Windows 7在内存管理方面相比Windows XP而言有了较大的改进。 超级预读取前面分析了传统机械硬盘结构落后给Windows性能体验带来的影响,但目前存在一个现实的残酷问题,在成本面前,99%的用户现阶段只能选择机械结构硬盘作为Windows的存储载体(当然,不排除发烧级用户选择后文将要介绍到的固态硬盘),因此想要缓解硬件带来的瓶颈就需要通过Windows的任务就落在了微软的肩上。Windows运行的载体是内存,硬盘只是作为存储Windows的载体,要想获得较好的性能体验,不仅要确保计算机配备足够的物理内存以满足用户并行运行更多应用程序,而且要尽可能少地通过硬盘调页(从硬盘载入应用程序页面到内存)。最重要的一点,内存中缓存的页面必须是对于用户来说是正确的内容。确保内存中缓存对于用户操作来说正确的页面究竟会带来怎样的性能体验呢?在使用Windows XP时,每个用户一定都经历过这种情况,打开一个Word窗口,在这个基础上再打开一个Word窗口所用的时间比第一次启动短很多,如果关闭后Word后重新运行,同样启动速度会比首次冷启动很快(冷启动代表应用程序首次启动时需要从硬盘读取所需的页面到内存中),这是因为Word运行所需的页面已经处于内存中,即便是关闭Word后,其在内存中对应的页面并不会立即清空。其实,这是Windows XP具备的一种预加载技术PreFetch,它可以在应用程序启动时将该程序所有功能涉及的页面载入内存,确保用户执行当前应用程序内的所有功能都无需在执行后续的硬盘读取。然而,PreFetch机制仅能够加载用户当前所启动应用程序的页面文件。在Windows 7中,全新的内存管理机制包含一项新的PreFetch技术,称为SuperFetch。相对于前者而言,SuperFetch会在用户运行常用应用程序或功能操作前,事先将这些项目所涉及的页面缓存到内存,这样当用户运行页面被提前缓存到内存的项目时,系统就可以直接将内存中已有的页面调入应用程序对应的内存数据空间,从而减少日常应用对硬盘的随机访问频率,大幅度提升应用程序启动速度。计算机的物理内存越大,SuperFetch带来的性能提升也就越明显。不过,SuperFetch如何选择哪些程序页面提前缓存呢?其实,从用户使用Windows 7第一天起,SuperFetch就开始跟踪用户运行应用程序时间的习惯,如用户在一周中的哪几天、一天当中哪些时间段运行哪些前台应用程序,SuperFetch会通过一定的算法创建“计划”,在系统登录桌面环境后将所有被跟踪应用程序的页面加载到内存。随着Windows 7使用周期的延长,SuperFetch跟踪用户使用习惯就会越准确,应用程序启动时读取硬盘的几率会越来越低,性能自然越来越好,并且SuperFetch在进行页面缓存操作时会使用低磁盘I/O优先级别,有关Windows 7在硬盘I/O优先级方面的改进,可以参阅9.2.3节。运行Windows任务管理器并切换到“性能”选项卡,在如图9-3中标注位置可以看到,一台配备2GB物理内存的计算机“已缓存”1033MB,这里的“已缓存”正是SuperFetch预加载的页面。你可能会发现图9-3中的一些问题,当前系统已经占用了52%的物理内存,等效于1075MB内存,52%的物理内存,等效于1075MB内存,若加上之前已缓存的1033MB则已经超出了实际2GB物理内存的容量。其实,对于Windows 7的内存数据结构来说,以用户以往习惯通过任务管理器查看的系统当前可用内存实际上是“空闲”内存(自由页面列表和已清零页面列表)与备用页面列表的总和,这些都不会被计入已使用内存中。而SuperFetch机制则是利用内存备用页面列表空间来缓存应用程序页面,这些被缓存占用的空间随时都可以作为可用内存进行分配。在使用Windows 7过程中,关于SuperFetch需要注意以下几点:l 鉴于SuperFetch“学习”用户日常启动各类应用程序的习惯,预缓存页面的效果会随着Windows 7使用周期的延长而提升;l 尽可能使用“睡眠”关闭计算机,从而保存物理内存中已缓存的页面,对于Windows 7来说,“睡眠”与SuperFetch是一对密不可分的组合,有关“睡眠”的介绍请参阅6.1.2节;l SuperFetch可以利用2GB(或更大)的物理内存充分缓存应用程序页面,而对于物理内存在1GB以内的计算机来说也没有关系,9.2.2节将介绍利用常见的U盘、SD卡等闪存设备扩展用于页面缓存的空间。 提示对于配备4GB(或更大)物理内存的计算机来说,运行32位Windows 7标准情况下仅能够使用和管理33.5GB的内存,而剩余无法识别的容量也是无法用于SuperFetch。除了更换64位Windows 7来识别所有物理内存外,如果你通过Web搜索引擎搜索关键字“32位Windows 7 8GB内存”,则会出现意外的惊喜,不妨试试! 主动恢复内存中正确的页面当运行Windows XP的计算机长时间处于闲置状态时,系统的一些后台进程会全速运行,并且对于内存存储空间较小的平台来说,这些系统进程运行时会将前台用户运行应用程序的页面从强行“挤”到pagefile.sys,最重要的一点,当这些后台进程完成工作后并不会主动将前台应用程序的页面恢复到内存。这种情况其实不仅仅会发生在物理内存较小的计算机平台上,对于配备2GB内存的计算机来说,如果用户运行一些大型应用程序,如用Photoshop图像处理软件打开较大的图片、3ds MAX编辑复杂场景,运行大型3D游戏时也会出现相同的问题。除了SuperFetch,Windows 7内存管理方面的另一大改进就是系统可以在一些大型应用程序结束后(当然也包括在内存较小的情况下后台进程运行造成的用户数据向pagefile.sys转移现象),系统内存管理会重新将被“挤”到pagefile.sys中的前台应用程序页面恢复到内存中,这样就可以避免遇到Windows XP中令用户不快的性能体验。9.2.2 利用移动存储设备作为缓存空间Windows 7全新的内存管理机制SuperFetch可以有效利用计算机大容量物理内存预先缓存应用程序页面,降低程序启动时访问硬盘的几率,提高程序启动速度,但对于物理内存较小的计算机而言,SuperFetch的作用会受到一定的限制,如仅搭载1GB物理内存的上网本。由于上网本自带的1GB内存可能是固化在主板上的,如果添加一根2GB内存可能会造成无法开机,这就给扩展内存提高SuperFetch效能带来了阻碍。其实SuperFetch除了可以利用物理内存备用页面列表空间缓存应用程序页面外,还允许借助U盘、SD卡等闪存颗粒设备扩展缓存空间,从而给有限的物理内存增加更多用于缓存应用程序页面的空间,这就是ReadyBoost机制。 提示Windows 7最大可支持256GB的ReadyBoost缓存空间,但必须将存储介质格式化为NTFS文件格式。也许有读者会有疑问,U盘、SD卡这类存储设备速度有机械硬盘快么?平日将文件存入U盘或从U盘复制大文件都没有硬盘快。如果你依然存在这种疑问,就说明还没有分清传统机械硬盘随机读取性能与顺序读取性能的区别。这里同样借助HD Tune Pro来检测闪存颗粒对于4KB文件的读取性能,如图9-4所示。对比图9-2中机械硬盘随机读取4KB数据时的性能就会发现,闪存的性能是机械硬盘的20倍,因此通过闪存读取应用程序页面会比通过硬盘读取速度高很多。图9-4 闪存读取4KB数据时的性能 ReadyBoost对于设备的要求及性能检测方法 ReadyBoost需要高速闪存颗粒存储设备作为缓存页面的介质,这类设备非常好找,身边的U盘,SD卡、CF卡配合USB读卡器都可以。但为了确保发挥实际加速作用,ReadyBoost对设备有以下几点要求:l USB接口版本不得低于2.0,从而保证数据传输速度;l 4KB大小的随机文件读取速度不得低于2.5MB/s,512KB的文件随机写入速度不得低于1.75MB/s;l 设备剩余存储空间不得小于256MB。在以上三点要求中,用户可以非常容易地判断USB接口版本和设备剩余存储空间,但第三项对于闪存颗粒读写速度的要求通常无法进行判断。同样是采用USB 2.0接口的U盘,不同厂商使用闪存颗粒体制不同,也会导致读写速度无法满足ReadyBoost的需求,因此选择用作ReadyBoost加速的设备时,尽可能确保设备通过了Windows Vista或Windows 7的认证。对于购买较早的设备来说,可以利用软件来检测闪存颗粒读写速度是否满足要求。除了使用贯穿本章内容的“CrystalDiskMark”外,其实还可以利用Windows 7自身的“体验指数”功能来进行检测,得到精确的性能数据报告,具体操作步骤如下。(1) 将需要用于ReadyBoost加速的设备与计算机连接。(2) 在开始菜单搜索框中输入“cmd”并使用+组合键以管理员身份运行命令行。(3) 若要检测4KB数据随机读取速度,可以在命令行中输入如下命令,并按回车键,如图9-5所示。winsat disk read ran ransize 4096 drive x(x表示待测试驱动器盘符)图9-5 检测设备4KB数据随机读取速度(4) 检测完成后,可以通过检测结果中“Disk Random 4.0 Read”项的数据了解设备性能,如图9-6所示。图9-6 查看检测结果中的“Disk Random 4.0 Read”以了解设备4KB数据读取速度(5) 如果要检测512KB数据的随机写入速度,可以在命令行窗口中输入“winsat disk write ran ransize 524288 drive待测试驱动器盘符”并按回车键,相关操作不再重复,可以参考上面步骤中对于4KB数据的检测方法。 设置ReadyBoost确定用于ReadyBoost的设备性能满足要求后就可以开始设置工作了,方法非常简单。这里以U盘为例,当把U盘重新插入计算机USB接口后,在弹出的“自动播放”对话框中会看到“加速我的系统”选项(如果设备符合要求),如图9-7所示,单击该选项即可直接打开设备属性对话框并自动切换至ReadyBoost选项卡,如图9-8所示,如果设备之前已经与计算机连接,则可以手动打开属性对话框并且切换至ReadyBoost选项卡。 图9-7 通过设备自动播放对话框 图9-8 ReadyBoost选项卡 打开ReadyBoost设置界面如果确定该设备仅用于ReadyBoost,那么选择如图9-8所示设置界面中的“该设备专用于ReadyBoost”,这样ReadyBoost会最大化地占用设备的存储空间缓存页面。当然如果希望自定义用于缓存的空间大小,则可以直接拖动“使用这个设备”下方的滑块直至调整到希望的数值。最后单击设置界面下方的“确定”按钮。随后系统就会开始向U盘中写入应用程序页面缓存,可以通过资源监视器查看ReadyBoost的工作情况,如图9-9所示。由于ReadyBoost对缓存采用了压缩和加密技术,因此缓存实际页面数据为实际大小的两倍左右,同时128位AES加密会确保用户数据的安全。图9-9 ReadyBoost向U盘写入缓存图9-10 U盘当中的ReadyBoost缓存文件 ReadyBoost使用注意事项在使用ReadyBoost功能时,需要注意以下几点。l 选择用作ReadyBoost的移动存储设备容量建议为计算机物理内存大小的12.5倍,如果计算机的物理内存本来容量仅有512MB1GB,而用作ReadyBoost加速的闪存空间也仅有512MB左右,那么系统无法将足够的应用程序页面缓存到闪存中,导致无法充分发挥作用。l 在使用ReadyBoost功能后,建议在系统运行过程中不要频繁断开计算机与设备的链接,因为这样系统就会反复建立闪存当中的缓存文件,重复带来硬盘访问操作,在一定程度上削减ReadyBoost带来的整体性能提升,所以如果确定某个设备用作ReadyBoost加速功能,那么就使它保持与计算机的连接,同时不要更改闪存盘符的名称。l 不用担心ReadyBoost会缩短闪存的寿命,因为ReadyBoost采用了特殊的算法以保证闪存每个区块读写次数的平衡。l 如果计算机的物理内存已达到2GB,那么无需再使用ReadyBoost,因为这样不会带来明显的性能提升。l ReadyBoost仅会把闪存当作扩展缓存应用程序页面的空间,相当于将这些页面从随机读取性能低下的机械硬盘搬到性能更高的存储空间,而不能作为应用程序运行的空间。9.2.3 智能划分I/O优先级通过前面的分析,相信你已经了解机械硬盘IOPs对于Windows运行性能的影响,同时旧版Windows自身并不能合理地划分用户和系统对于硬盘的访问优先级。Windows 7引入了I/O优先级的概念,通过针对不同类型的应用划分不同级别的硬盘I/O优先级访问,将系统后台引用的磁盘访问优先级设置为低级别,系统前台的各类用户应用则允许优先执行硬盘访问,这样就可以很大程度地改善机械硬盘在IOPs方面存在的不足,在同一时间内根据用户操作合理划分硬盘I/O优先级。低优先级硬盘访问应用于Windows 7自身的一些新特性,从而给运行在机械硬盘上的Windows 7带来以往操作系统无法提供的性能体验,以下列出的Windows 7特性都应用了低优先级的I/O:l Windows 7自身的一些启动项与服务;l SuperFetch提前缓存应用程序页面的操作;l Windows搜索功能创建索引数据库时;l Windows Defender执行例行扫描;l 磁盘碎片自动整理。9.2.4 针对固态硬盘(SSD)优化实际上,SuperFetch、划分I/O优先级等新增功能只是Windows 7缓解针对机械硬盘性能不足的一种方法。近两年来计算机硬件最有影响的改进是什么?Intel Core i7?三通道内存?NVIDIA CUDA?Physx物理加速?答案是一种不存在物理寻道、不存在盘片、没有任何机械元件的硬盘固态硬盘(Solid State Disk,简称SSD)。通过前面小节对于ReadyBoost功能的介绍会发现闪存的随机读写速度是机械硬盘无法相比的,固态硬盘同样采用了闪存颗粒作为存储介质,但与U盘、SD卡这类设备使用的单一闪存相比,固态硬盘采用的闪存颗粒速度更高,并且通过内部多个闪存模块组成RAID,弥补数据顺序读写时的速度,如图9-11所示。图9-11 常见的桌面级固态硬盘内部构造同样采用闪存作为存储介质,固态硬盘的随机读写性能究竟有多高?下面通过对比即可一目了然。笔者使用一块目前在玩家中备受欢迎的西部数据1TB黑盘(机械硬盘,如图9-12所示)与一块入门级别的PQI 32GB固态硬盘(如图9-13所示)进行对比,通过“CrystalDiskMark”检测512KB与4KB数据的随机读写性能,且重点在于4KB数据的随机读取性能。 图9-12 西部数据1TB黑盘 图9-13 PQI 32GB S525固态硬盘对比结果是惊人的,此处使用的固态硬盘4KB和512KB随机读取性能分别是民用领域当中性能不错的西部数据黑盘18倍和3倍。带来如此惊人性能的原因在于,闪存结构本身不存在寻道,读取操作可以快速到达闪存的任意一个区块,另外闪存本身的特性也带来了更高的IOPs性能,如果与机械硬盘每秒不足100次的访问能力相比,固态硬盘则可以做到每秒5000次的被访问能力,当遇到密集型访问时,可以保证性能体验不会受到严重影响。具备了这些性能条件,毫不夸张地说内存从固态硬盘读取应用程序页面的速度快得就像照镜子一样。 图9-14 PQI 32GB固态硬盘的随机读取性能 图9-15 西部数据1TB黑盘(机械硬盘)的随机读取性能如果将具有这样的性能的硬盘用作存储Windows 7系统文件的介质,所带来的性能提升是更换更强劲CPU、大容量高频率内存无法比拟的,就算没有SuperFetch,固态硬盘也能让应用程序快速启动,系统开机、休眠、恢复休眠的时间大大缩短。并且这里使用的固态硬盘只是较早推出的产品,并没有搭载缓存,对于新近推出的一些高性能方案配合缓存的固态硬盘来说,性能远远超过PQI 32GB。其实固态硬盘并不完美,如果作为操作系统的存储介质,系统自身必须提供一些辅助功能来弥补固态硬盘的不足,而固态硬盘所需的这些功能都是早期版本Windows以及其他类型操作系统都不具备的。由于固态硬盘的核心是闪存,闪存的结构可以确保数据存储在任何一个区块上都可以立即访问,因此读取性能始终不会受到磁盘碎片的影响。同时,相比机械硬盘盘片,闪存的擦写寿命较短,因此Windows 7中的磁盘碎片自动整理功能会识别并排除固态硬盘分区,避免磁盘碎片整理缩短闪存寿命,当然用户切勿将传统(针对机械硬盘)第三方磁盘碎片整理工具应用于固态硬盘。另一方面,由于闪存在写入新数据时需要将区块中旧的数据擦除,因此避免反复擦写造成闪存某一区块的迅速老化,固态硬盘本身采用了区块“损耗平衡”机制,将读写各个区块的次数平均化。“损耗平衡”机制的应用依赖于操作系统对于数据的控制,尽可能地让数据“循环使用”,从而减少不必要的区块擦除。然而目前除Windows 7外,没有任何操作系统具备这种让数据“循环使用”的功能。在Windows 7中,微软配合固态硬盘的“损耗平衡”加入了一项Trim机制。如果固态硬盘支持“损耗平衡”,当用户删除固态硬盘NTFS分区内的数据时,系统会记录执行数据删除的区块并且不会立刻执行物理擦除操作,而是将这个区块暂时“回收”,从而避免新的数据为了写入该区块而执行擦除操作,新的数据会写入“损耗平衡”机制分配的其他区块,而之前被“回收”区块的数据可“循环利用”,这就避免了一次擦除操作,这样通过Windows 7 Trim机制的配合,固态硬盘的“损耗平衡”才能够发挥作用,延长自身寿命。有了Windows 7这些辅助功能,用户就可以放心地体验固态硬盘带来的高性能。首页资讯空间学生论坛博客下载读书网摘程序员外包书店网址CTO俱乐部乐知教育D9区 精品连载 书友会 图书指数榜 收藏秀 特色书架 出版圈子 读书讨论群 读书博客 社区银行 图书品种:235680种书友会 连载 Tag 用Google进行全文检索 用百度进行全文检索热门搜索: ASP.NET Ajax Spring Hibernate Java9.3优化性能体验每当谈到优化Windows性能,就会引发争议,一部分用户认为Windows不优化就不能使用,而另一部分理性用户则对系统优化不是很在意。由于Windows 7相对Windows XP改进很大,因此过去互联网上针对Windows XP流行的优化方案不再试用,如果用户依然用过去的方法优化Windows 7,轻则无效,重则导致系统性能下降或出现故障,因此本节将要介绍的内容完全是建立在确保Windows 7稳定运行基础之上的有效优化方案。9.3.1 不要过分优化系统在学习Windows 7优化方案前,首先需要强调的是不要盲目使用网络中的优化方案,因为在以往Windows故障报告中,随意优化导致的问题占多数。往往需要在稳定易用和极端性能之间找到一个平衡点,这样才能获取最佳的用户体验,Windows 7在这方面已经做得非常出色,在对硬件平台性能要求较低的情况下,有效发挥每个硬件设备的性能,并在确保性能符合用户需求的前提下,提供绚丽的外观和易用的操作体验。你在使用Windows XP时是否进行过以下操作:l 将系统外观设置为经典并关闭大多数系统特效;l 通过更改注册表进一步加速菜单显示速度;l 更改系统服务;l 借助所谓的内存优化工具,让系统内存占用率极低,让内存可用空间看起来很多。一些用户认为Windows外观特效没有实际意义,这里可以参考本书第3章的内容介绍。在系统服务方面,可以说Windows 7在开发时已经做得非常好,因此不必对系统服务进行任何操作。相信阅读过本章前半部分的内容后,你已经了解想要Windows在运行时提供最好的性能体验,内存当中始终需要存在对于用户操作来说正确的数据,因此不要针对Windows 7进行任何所谓的内存优化,也不要关闭SuperFetch服务,因为在没有使用固态硬盘的情况下,关闭SuperFetch服务可能会让Windows 7回到Windows XP的性能水平。希望用户在使用Windows 7的过程中不要再去进行过度的优化。外观效果不仅很炫,最重要的是它还会借助Aero带来不少快捷操作;不要禁用SuperFetch服务,因为它可以缓解机械硬盘天生的硬伤,维持Windows 7的性能发挥;不要乱动系统服务,微软在Windows 7的开发过程中其实已经对服务进行了优化,比如很多系统服务会延迟启动以优先用户操作,如果再去更改和禁用系统服务带来的就是故障和错误。其实,Windows最终能够提供给用户什么样的体验,微软在设计和开发过程中已对此进行了严谨的考虑,因此系统优化要适度,应该在确保系统稳定且不破坏用户体验的前提下进行。9.3.2 减少Windows启动加载项使用Windows 7,在登录桌面后即可立即展开操作,无需长时间地等待,这是由于微软对系统进行了合理优化,降低系统自身启动时的磁盘I/O优先级,同时将一些服务延迟启动。不过,在实际使用Windows 7的过程中,用户安装的应用程序难免会包含登录自动运行项,在登录环节出现更多的磁盘访问,造成登录桌面后用户操作响应缓慢。如果认为自定义Windows登录自动加载项只有第三方优化软件才能做到,则这种想法不正确。实际上,第三方优化工具的大部分功能都是调用Windows自身的管理界面而已。1通过“系统配置”面板管理启动项在Windows XP时代,IT人员往往会通过“运行”中的“msconfig”命令打开“系统配置”面板。而在Windows 7中,“系统配置”面板的快捷方式默认被添加到了“管理工具”当中,可以在开始菜单搜索框输入“系统配置”或“msconfig”并按回车键,即可打开“系统配置”界面。打开“系统配置”面板后,切换至“启动”选项卡,在这里取消不希望登录自动运行的项目即可,如图9-16所示。在选择过程中需要注意,避开关键的自动运行项目,如病毒防护软件和IME(输入法)。图9-16 通过“系统配置”面板定义启动项2通过注册表管理启动项通过修改注册表中对应项可以自定义更多的启动项,如果错误地修改注册表会带来严重系统故障,因此在更改完启动项后不要再进行更多的修改,具体操作方法如下。(1) 在开始菜单搜索框中输入“regedit”并按回车键,打开注册表编辑器。(2) 将注册表编辑器窗口定位到如下位置。HKEY_LOCAL_MACHINE SOFTWARE MicrosoftWindowsCurrentVersionRun(3) 在右侧详细列表中即可看到当前登录自动运行程序对应的项,直接删除不需要的项目即可,如图9-17所示。图9-17 删除需要禁用的启动项(4) 同时需要对以下注册表位置进行相同的操作。HKEY_CURRENT_USER SOFTWARE MicrosoftWindowsCurrentVersionRun9.3.3 进一步提高机械硬盘性能如果计算机仍使用机械硬盘,也不必受前面内容的影响,毕竟现阶段固态硬盘在容量和价格上并不能被普通大众所接受,所以还是要尽可能挖掘机械硬盘的性能优势。 定期整理磁盘碎片很多用户在使用Windows XP时发现,系统随着使用周期的延长运行速度越来越慢,这是因为系统分区频繁的随机擦写操作让原本可以处于盘片高速读取位置的数据凌乱不堪,也就是磁盘碎片,而Windows XP虽然具备磁盘碎片整理功能,但普通用户可能并不知道碎片的存在,也从来没有执行过碎片整理。在Windows 7中,磁盘碎片整理功能被纳入自动计划任务中,帮助用户定期对数据碎片进行整理。不过,结合用户实际使用计算机的时段和时长,如果计算机不能定期保持足够长的闲置状态让整理程序自动运行,那么磁盘碎片自动整理并不一定能够发挥作用。如果在Windows 7的使用过程中发现应用程序启动所需的时间越来越长,则应该手动执行磁盘碎片整理操作。在开始菜单搜索框中输入“磁盘”,单击“磁盘碎片整理程序”选项,即可打开“磁盘碎片整理程序”界面,如图9-18所示。如果需要手动执行磁盘碎片整理,可以界面中选定目标盘符,然后单击“磁盘碎片整理”按钮,并且Windows 7的磁盘碎片整理程序可以同时对多个盘符进行整理操作。图9-18 “磁盘碎片整理程序”界面默认情况下,磁盘碎片整理程序会定期自动运行,不过对于普通用户来说这可能不是非常合理,因为如果单击如图9-18所示界面右上角的“配置计划”按钮,在弹出的“修改计划”对话框中会发现默认的计划自动整理时间是每周三凌晨1点,如图9-19所示。普通用户在这个时间基本上已经休息了,所以有必要根据自己使用计算机的时间段重新定制计划。首先,该程序自动运行的频率间隔不能太长,如果磁盘碎片积累得比较多,则势必造成很长的整理时间,因此保持默认的每周进行的频率即可。其次,如果用户不熬夜使用计算机,那么最好将整理碎片的时间改为白天使用计算机的时间,如中午吃饭的时候离开计算机即可让整理磁盘碎片程序运行。最后,由于Windows运行通常只会让系统所在分区产生磁盘碎片,因此单击“选择磁盘”按钮,打开“选择计划整理的磁盘”对话框,取消除系统磁盘之外的所有分区,如图9-20所示。 图9-19 “修改计划”对话框 图9-20 选择需要执行自动碎片整理的分区 根据存储内容合理设置磁盘单元大小在对驱动器进行格式化操作时,会看到如图9-21所示的“分配单元大小”选顶,而且大多数用户可能没有想过更改这里的数值大小会有什么作用。这里的单元大小,其实就是磁盘分区的最小单位。存储在硬盘分区内的文件会在多个单元分布。如果将不同体积的文件合理存放在适当单元大小的分区内,不仅能够提升读取性能,同时还能够节省硬盘空间。例如视频、音乐、光盘镜像等这类占用存储空间较大的文件,可以存放在单元设定相对较大的分区当中,这样有利于提升读取性能。 开启SATA硬盘的高性能模式这里所指的硬盘高性能模式实际上是让目前SATA II代机械硬盘工作在原生模式下,而前提条件必须是主板芯片组南桥磁盘运行方式处于AHCI界面。AHCI全称为Serial ATA Advanced Host Controller Interface(串行ATA高级主控接口)。南桥芯片开启AHCI界面后,即可让SATA II代硬盘运行在原生模式,发挥硬盘本身的标准特性,如热插拔以及下文将要介绍的NCQ技术。2006年以后,无论是笔记本电脑、品牌台式计算机还是常说的兼容机或组装机,机械硬盘已经全部普及为SATA II代规格。在芯片组方面,笔记本电脑已经全部运行在AHCI模式下,这样对于预装Windows 7或用户自行升级而言都可以体验到上文当中的磁盘高性能。但是对于零售产品而言,虽然Intel ICH9之后的南桥都可在无RAID功能的情况下开启AHCI模式,但主板厂商为了降低早期版本Windows操作系统的部署难度,具备AHCI界面的芯片组南桥默认以IDE兼容模式工作。因此除了笔记本电脑外,使用组装机的用户使用AHCI模式只占用户总数的10%,只有对硬件了解或者发烧友才会开启AHCI模式,对于普通用户来说如果不通过网络了解这方面的信息,完全会将硬盘的高级性能浪费。对于硬盘来说,希捷品牌在7200.9之后的产品都支持NCQ技术,而其他品牌的硬盘可以参考前者发布时间来判断。而对于芯片组而言,以Intel芯片组南桥芯片作为参考,ICH6、ICH7、ICH8之前的南桥芯片只有带“R”,也就是支持RAID功能的才附带AHCI模式,而对于ICH9之后的南桥芯片而言,在无RAID功能的条件下也会单独提供AHCI功能。NCQ是SATA II代硬盘所具备的一种技术,全称为Native Command Queuing。与传统IDE接口硬盘或运行在IDE兼容模式的SATA读取数据方式相比,NCQ技术在理论上能够减少硬盘在进行寻道时的无用读取次数。通过图9-22和图9-23可以对比NCQ工作模式和普通IDE工作模式在读取数据方式上的区别。如同本章9.1节中提到的,对于机械硬盘而言,一个应用程序所涉及的DLLs会分布在物理盘片的多个位置,传统IDE硬盘(或以IDE模式工作的SATA硬盘)在读取这些DLLs时磁头会以图9-22所示方式“规规矩矩”地根据数据的逻辑序列依次读取1-2-3-4。而NCQ技术则会让磁头以图9-23所示的方式打破序列,按照1-3-2-4的顺序就近读取这些DLLs,这样就有效地减少了磁头无效的寻道操作,提升随机读取性能和IOPs。 图9-22 IDE硬盘读取逻辑连续数据的方式 图9-23 NCQ技术读取逻辑连续数据的方式然而,在过去的Windows版本中,NCQ技术实际上并没有带来以上所介绍的优势,用户反而感觉到相对于IDE模式,NCQ技术让硬盘的性能不升反降,这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论