在如今的虚拟化数据中心中,单单一台服务器可能运行众多虚拟机,而每个虚拟机作为一个文件驻留在内存中。但是当新的服务器添置更多更快的内存以满足更大的计算需求时,内存可靠性问题就显得尤为重要。IT人员必须留意内存故障,并充分利用旨在增强内存可用性的服务器特性。
如今,企业级服务器采用数TB的64位内存,这些预制模块遵守联合电子设备工程委员会(JEDEC)DDR3和DDR3L(低电压)标准而设计和制造。这样一来,企业很容易从诸多内存厂商购得价位合理的内存,但是遵守标准并不能保证可靠性。
内存可靠性面临的最大威胁并不是彻底的故障,不过可能会出现生产缺陷、电事件及其他物理异常引起的故障。确切地说,服务器内存面临的最大威胁来自随机比特错误——某个比特出现自发逆转。要是未加以检查,仅仅一个比特出现错误就会以突如其来、可能灾难性的方式,改动指令或改变数据流。
比特错误会自然发生。内存模块的错误率从每兆字节内存每小时大约1比特(有时被标为1010 errors/bit*h)到每兆字节内存每百年1比特(1017 errors/bit*h)不等。这个范围相差得太大了,但随着内存子系统速度变快、电气操作电压变低以及服务器上的内存总量增加,比特被“误解”并影响工作负载的可能性随之变得相当大。
其他因素也会加剧单比特错误,比如本底辐射(阿尔法粒子)、寄生电事件(如附近电磁干扰)、糟糕的主板屏蔽或设计,甚至DIMM插座上的电触点受到破损或质量低劣。
增强内存可用性的特性
缺少可用内存始终是个问题,而奇偶校验等错误检测技术已存在了好多年。奇偶校验很简单,对于检测单比特错误也很有效,但它纠正不了单比特错误,所以没有大量地应用于服务器。幸好,现在有或正出现另外许多特性,有助于增强内存可靠性。不妨考虑以下几种方案:
ECC。系统厂商们不是依赖奇偶校验,而是依赖纠错码(ECC)技术。ECC立足于奇偶校验的基础上,它使用一种算法,为每64比特的内存创建和存储一个8比特码(每个地址总共72比特)。这种算法和编码让系统得以实时检测和纠正单比特错误,此外还能检测多比特错误,并防止系统使用破损数据。ECC通常是许多通用服务器上采用的确保内存可靠性的默认技术。
先进ECC。先进ECC把ECC方法扩大到了多种内存设备,让ECC得以检测和纠正多比特故障,只要这些故障出现在同一个内存设备里面。不过,ECC和先进ECC并不支持任何一种故障切换机制,所以为了排除有问题的内存模块,仍得关闭系统(或依赖其他系统技术)。许多企业级服务器可以提供某种先进ECC,比如IBM ProLiant或戴尔PowerEdge。
内存错误跟踪。应对内存错误的一方面是,首先密切跟踪内存错误。新兴的服务器设计通过为错误率和位置做一份列表,开始密切跟踪可以纠正的错误。一些服务器还能将错误信息保存在内存模块上的可重写串行存在检测(SPD)内存空间——可以读取该内存空间,以便将来评估和分析。一旦系统能跟踪可以纠正的内存错误,并将该信息转移到系统的管理工具,就有可能通过记下错误率突然增加的DIMM来预测可能发生的内存故障。错误跟踪称得上是更先进的内存可靠性特性的先驱,更先进的特性包括DIMM故障切换或在物理内存空间里面转移数据。
热备用内存。热备用概念在磁盘存储领域很常见,但只是最近才在服务器设计流行起来。这是由于系统必须有一定的智能,才能先识别和跟踪可以纠正的内存错误,之后才能决定把数据转移到备用内存模块上。内存错误跟踪方面的技术进步让服务器的内存控制器得以将数据从存在的错误不可接受的DIMM转移到同一通道中的另一个备用DIMM上。这也叫内存插槽备用(rank sparing)。这种方法存在的不足是,为错误发生前一直非生产性的服务器增添内存需要一笔开支。
设备标记(Device tagging)。一种内存故障切换技术是基于BIOS的技术,名为设备标记。当系统跟踪到出现错误率增加的内存模块时,系统基本上就能把数据从有问题的内存转移到ECC内存——实际上使用ECC内存作为一个小小的热备用内存。这有望减少内存故障,但同时无法在这部分内存里面进行错误检测和纠正。设备标记被用作一种权宜之计,让系统保持运行,直到有问题的内存模块被换掉为止。
内存镜像。完美的内存可靠性技术就是把服务器上内存中内容从一个通道复制到另一个配对通道上。这实际上就是为内存建立了RAID 1机制。如果一个通道的内存里面出现故障,内存控制器就会切换到配对通道上,没有任何干扰完成修复工作(如果需要修复)后,通道就可以重新进行同步。镜像方法的缺点与存储方面的RAID 1一样由于内存中的内容被复制,存储容量减少了一半,或者说内存成本实际上翻了一番。
如今内存在现代虚拟化服务器中扮演更关键的角色,所以应对和缓解内存错误的破坏性效应显得比以往更为重要。
如何优化内存的管理,提高内存的使用效率,尽可能地提高运行速度,是我们所关心的问题。下面介绍在Windows操作系统中,提高内存的使用效率和优化内存管理的几种方法。\x0d\x0a1.改变页面文件的位置\x0d\x0a其目的主要是为了保持虚拟内存的连续性。因为硬盘读取数据是靠磁头在磁性物质上读取,页面文件放在磁盘上的不同区域,磁头就要跳来跳去,自然不利于提高效率。\x0d\x0a而且系统盘文件众多,虚拟内存肯定不连续,因此要将其放到其他盘上。改变页面文件位置的方法是:用鼠标右键点击“我的电脑”,选择“属性→高级→性能设置→高级→更改虚拟内存”,在驱动器栏里选择想要改变到的位置即可。\x0d\x0a值得注意的是,当移动好页面文件后,要将原来的文件删除(系统不会自动删除)。\x0d\x0a2.改变页面文件的大小\x0d\x0a改变了页面文件的位置后,我们还可以对它的大小进行一些调整。调整时我们需要注意,不要将最大、最小页面文件设为等值。因为通常内存不会真正“塞满”,它会在内存储量到达一定程度时,自动将一部分暂时不用的数据放到硬盘中。最小页面文件越大,所占比例就低,执行的速度也就越慢。最大页面文件是极限值,有时打开很多程序,内存和最小页面文件都已“塞满”,就会自动溢出到最大页面文件。\x0d\x0a所以将两者设为等值是不合理的。一般情况下,最小页面文件设得小些,这样能在内存中尽可能存储更多数据,效率就越高。最大页面文件设得大些,以免出现“满员”的情况。\x0d\x0a3.禁用页面文件\x0d\x0a当拥有了512MB以上的内存时,页面文件的作用将不再明显,因此我们可以将其禁用。方法是:依次进入注册表编辑器“HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession Ma-nagerMemoryManagement”下,在“DisablePa-ging Executive”(禁用页面文件)选项中将其值设为“1”即可。\x0d\x0a4.清空页面文件\x0d\x0a在同一位置上有一个“ClearPageFileAtShutdown(关机时清除页面文件)”,将该值设为“1”。这里所说的“清除”页面文件并非是指从硬盘上完全删除pagefile.sys文件,而是对其进行“清洗”和整理,从而为下次启动Windows XP时更好地利用虚拟内存做好准备。\x0d\x0a5.调整高速缓存区域的大小\x0d\x0a可以在“计算机的主要用途”选项卡中设置系统利用高速缓存的比例(针对Windows 98)。如果系统的内存较多,可选择“网络服务器”,这样系统将用较多的内存作为高速缓存。在CD-ROM标签中,可以直接调节系统用多少内存作为CD-ROM光盘读写的高速缓存。\x0d\x0a6.监视内存\x0d\x0a系统的内存不管有多大,总是会用完的。虽然有虚拟内存,但由于硬盘的读写速度无法与内存的速度相比,所以在使用内存时,就要时刻监视内存的使用情况。Windows操作系统中提供了一个系统监视器,可以监视内存的使用情况。一般如果只有60%的内存资源可用,这时你就要注意调整内存了,不然就会严重影响电脑的运行速度和系统性能。\x0d\x0a7.及时释放内存空间\x0d\x0a如果你发现系统的内存不多了,就要注意释放内存。所谓释放内存,就是将驻留在内存中的数据从内存中释放出来。释放内存最简单有效的方法,就是重新启动计算机。\x0d\x0a另外,就是关闭暂时不用的程序。还有要注意剪贴板中如果存储了图像资料,是要占用大量内存空间的。这时只要剪贴几个字,就可以把内存中剪贴板上原有的图片冲掉,从而将它所占用的大量的内存释放出来。\x0d\x0a8.优化内存中的数据\x0d\x0a在Windows中,驻留内存中的数据越多,就越要占用内存资源。所以,桌面上和任务栏中的快捷图标不要设置得太多。如果内存资源较为紧张,可以考虑尽量少用各种后台驻留的程序。平时在操作电脑时,不要打开太多的文件或窗口。\x0d\x0a长时间地使用计算机后,如果没有重新启动计算机,内存中的数据排列就有可能因为比较混乱,从而导致系统性能的下降。这时你就要考虑重新启动计算机。\x0d\x0a9.提高系统其他部件的性能\x0d\x0a计算机其他部件的性能对内存的使用也有较大的影响,如总线类型、CPU、硬盘和显存等。如果显存太小,而显示的数据量很大,再多的内存也是不可能提高其运行速度和系统效率的。如果硬盘的速度太慢,则会严重影响整个系统的工作。我对我的windows2000服务器是如何进行性能优化的1:我们知道,系统刚装完之后,会存在很多无用的文件,这些文件都在winnt下面我们就对这些文件进行del,比如*.tmp、*.bak、*.log、*.old、*.txt甚至是作为桌面背景的*.bmp文件,help这个目录下的,基本上也没什么用,反正服务器上的help我是从来不去看它的!还有winnt\temp文件,是软件安装的过程序中,可能生成的临时文件,如果没用,就删掉吧!然后清空回收站吧!
2:启动和故障恢复选项,右击我的电脑,选择属性\高级\启动和故障恢复,将选择操作系统列表前面的勾直接去掉好了,写入调试信息,选择无!
3:浏览器历史记录和缓存,可以通过点击浏览器的“工具/Internet选项/常规/Internet临时文件/删除文件
4:(1)运行磁盘查错的时候,请先把运行的程序关闭,打开“我的电脑”,右击想要整理的硬盘驱动器,选择“属性/工具”,在查错一栏中点击“开始检查”在进行磁盘检查之前请确认“自动修复文件系统错误”和“扫描并试图恢复坏扇区”这两项被选中。
(2)碎片整理,请把所有运行的程序关闭,特别是屏幕保护、计划任务、实时查杀毒软件等等可能造成磁盘存储数据变化的程序,然后打开“我的电脑”,右击想要整理的硬盘驱动器,选择“属性/工具”,在“碎片整理”中选择“开始整理”,你可以点击“分析”按钮让系统分析你的硬盘的基本情况,然后告诉你的硬盘是否需要整理。如果需要整理,那么你只要点击“碎片整理”按钮即可。整理的时间依据你的这个硬盘分区有多少簇来决定――不得不承认这个过程相当乏味、枯燥而且缓慢。所以你可以找具有类似功能的软件比如诺顿工具箱中就有磁盘整理的组件、另外象Diskeeper、Vopt等等程序整理的效果也不错(但是同windows自带的磁盘整理软件的效果仍然有差距),而且速度快。
5:硬盘驱动器设置,现在的硬盘一般都是支持DMA(Direct Memory Access:直接内存存取)模式,所以确保你的DMA硬盘(不管是DMA33/66/100)只要能正确的在DMA模式下工作,就能保证你的系统工作在比较高的效率之下。启动DMA模式――点击“开始/设置/控制面板/系统/硬件/设备管理器”,然后点击“IDE ATA/ATAPI控制器”,右击Primary IDE Channel,选择“属性/高级设置”在“传送模式”中选择DMA(若可用)。依据提示重新启动计算机,你下次打开这个界面应该能看到“当前传输模式”中是DMA了。
6:关闭索引服务,关闭这项功能的方法是,打开我的电脑,右击相应的硬盘驱动器分区图标,选择属性,去掉“允许索引服务编制该磁盘的索引以便快速搜索文件”选项前的对钩,点击“应用”,就会出现是仅仅将属性应用于这个分区的根目录还是连同它下面的子文件夹和文件。选择“将更改应用于<盘符>:\,子文件夹和文件”。然后点击确定,等待系统自己处理完成就可以了。
7:自动关闭停止响应的程序,对于停止响应的程序,可以通过修改注册表使得系统不再通知你,而是自动关闭――不再需要用户的干预,从而提高工作效率。具体方法是,打开注册表编辑器,找到如下键值:
HKEY_CURRENT_USER\Control Panel\Desktop,把AutoEndTasks修改为1。以后如果遇到停止响应的程序,系统就会自动中止它。
8:设置虚拟内存,我们应选择优化后台服务
9:停止Win2000中不必要的服务,以下是我停掉的服务,大家可以参考一下!
服务名 简介
COM+ Event System 提供事件的自动发布到订阅 COM 组件
Computer Browser 维护网络上计算机的最新列表以及提供这个列表
Network Connections 管理“网络和拨号连接”文件夹中对象,在其中您可以查看局域网和远程连接
Plug and Play 管理设备安装以及配置,并且通知程序关于设备更改的情况
Protected Storage 提供对敏感数据(如私钥)的保护性存储,以便防止未授权的服务,过程或用户对其的非法访问(备注:缺少了此项后可能造成在IE中输入文字后死机)
RusAs Service 在不同赁据下启动过程服务
Remote Procedure Call (RPC) 提供终结点映射程序(endpoint mapper)以及其它 RPC 服务
Security Accounts Manager 存储本地用户帐户的安全信息
Server 提供 RPC 支持、文件、打印以及命名管道共享
Task Scheduler允许程序在指定时间运行
Windows Management Instrumentation Driver Extensions 与驱动程序间交换系统管理信息
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)