
硬错误是hard/major page fault,对应软错误是 soft/minor page fault。来自都是CPU请求过程想谓价中发现虚存页没有对360百科应的物理内存帧。不同是前者需要从硬盘读数据到物理内存,然后再做映射;后者是数据已经在物理内存里,只需要做好映射就行了。
- 中文名 硬错误
- 外文名 Hard fault /Page fault
- 对应问题 软错误
- 结果 性能的下降
定义
Hard faults are also kno来自wn as page faults. Despite the negative conn当otation of the name, this is not an error con360百科dition. Rather, it represents an instance where a block of memory needed by the operating system or an appl害奏适ication has to be fetched from the page file on the hard disk instead of from physical memory. A c别调或紧附顶游期onsistent条直玉赶弦衣设ly high number of hard faults per second indicates a large—perhaps excessive—reliance on vir却令副种季采本评应何tual memory, with cons让丰相轻征顶两输降草原equent adverse p蛋手称席erformance effects.
“硬错误”也名刻促给段细为“页面错误”。尽管字面上是负面的含义,但并非表示一种操算副规或占盐但肥海故障状态。它表示操作系统万分造请变送队八永高艺或应用程序访问的内取米告轻存地址不在当前物理内存中,而在磁盘上的页面文件中的情况。每秒发生的“硬错误”数量长期处于较高说明系统过度依赖于虚拟内存,随之引起的是性能的下降。
内存中的数据在工作过程中难免会出现错误,而对于稳定性要求高的用户来说,比如完成一项需要连续求解30天的分析项目,内存中的数据错误可能会引起致命性的问题(死机、蓝屏、重启、数据丢失)和白白浪费宝贵的时间。内存错误根据其众丰协独度探汉地原因可分为硬错误和软错误。硬错误是由于硬件的损坏或缺陷造成的,因此数据总是兴得英革不正确的,此类错误是无法纠正的;软错误是随机出现的,例如在内存附近突然出现电子干扰等因素,可能造成内存软错误的出现。
处理方法
针对MS-DOS
MS-DOS处理硬错误的方法是相当直接的,当M持既找多食解普宪S-DOS已运行到未一定程度时发现上述的硬错误,就会与磁盘驱动器通讯。驱动器报告这个问题,MS-DOS就在屏幕上显示“Abort,Retry,Ignore?”信息。通常,用户纠正一下错误并给系统予以应答。M非非规女值告故才S-DOS然后按用户指定的动作行动,完成其任务,并返回到应用级。应用程序常常并不要系统自动地处理硬错误。或许,它们担心数据的完整性并要求直到写磁盘问青题,或者它们要防止用户指明“Ignore”,或者它们并不想叫MS-DOS在不通知它们的情况下就在屏幕上显示。为了处理这些情形,MS-DOS让应用程序将硬错误处理程序的地址存放在INT24向量中。如果有这一硬错误处理程序,MS-DOS就调用它,而不调用自己的硬错误处理程序。
当系统处理MS-DOS硬错误时,系统处于的状态并不一般,应用程序起动通过INT21向量调用雨眼慢前晚陆地足好MS-DOS,MS-DOS然后在其内调用较深的几层,在这里有一个MS-DOS内部过程即将硬错误处理程序调用到应用程序。因为MS-DOS通常不是可再入的,所以这时应用程序就不能通过INT21再调用MS-DOS,否则这样做就意味着在同一时刻已调用二次MS-DOS了。应用程序很可能在处理硬错误时,需要做屏幕和键盘I/O操作,所以MS-DOS被做成是部分可再入的。因起始调用包含磁盘I/O操作,所以MS-DOS可通过屏幕/键盘I/O调用再进入而不会产生问题。
针对OS/2
对于OS/2,有一些问题使我们不能按照MS-DOS的方法来做。首先,和单任务MS-DOS不同,OS/2不能在操作系统调用应用程序期间(这样的调用或许在很长时间内部不能返回)将操作暂停下来。第二,主要技术和安全性问题都包含在从0级(有特权的核心方式)到第3级(应用方式)的调用中。第三,在MS-DOS环境下,OS/2就不那么容易了,这是因为可能有多个进程使磁盘FAT扇区或磁盘目录被编辑,由于OS/2所使用的缓冲技术也会在没有进程做I/O操作时导致硬错误的出现。最后一点,即使我们解决了所有这些问题,引起硬错误的应用程序也会在后台屏幕组里运行,它不能显示信息或利用键盘。即使该应用程序在前台屏幕组内,如果它不是正控制屏幕和键盘的进程,它也不能使用屏幕和键盘。
ECC功能
为了提高内存中数据的可靠性,引入了ECC技术。ECC是Error Correcting 来自Code的简写,中文名称是“错误检查和纠正”。360百科ECC内存就是应用了这种技术的内存,一般多应用在服务器和图形工作站上,这将使供推法层美局料跳整个电脑系统在工作时更趋于安全稳定。
ECC纠错算法
ECC内存技术是在数据乙争希将状精路乱简困反位上额外的位存储一个用数据加密的代码,当数据被写入内存时相应的ECC代码同时也被保存下来,当重新读回刚才存储的数据时保存下来的ECC代码就会和读数据时产生的ECC代码作比较,如果两个代码不相同,则他们会被以确定数据中的哪一位是不正确衡顾制排胶火引料的,然后这个错误位将会老末绿易乙阳际被抛弃,内存控制器会释放出正确的数据。被纠正的数据很少会被放回内存。假如相同的错误数据再次被读出,则纠正过程再次被执行。重写数据会增加死量样容停坚容扬们处理过程的开销,会导致系统性能道建视吗的明显降低。一般而言,同等性能等级的内存,当加入了ECC校验技术后会导致整体性能下降10%或更多。不过,宪要脸虽卫角鲜这种纠错对大规模有限元分析等需要长期高负荷运行、时刻保持高度稳定性的应用来说是十分重要的。带ECC校验技术的内存价格一般会比普通场北号侵理按脚果内存贵一些。
ECC内存认识误区
一谈到服务器内存,大家一般都一致强调要买ECC内存,认为ECC内存速度快,其实这是一种错误的认识。ECC内存的成功之处并不是因为它的速度快,而是因为它方普州参终搞张干医志元有特殊的纠错能力,使服务器保持稳定。ECC本身并不是一种内存型号,也不是一种内存专用技术,它是广泛应用于各种计算机指令区域的一种指令纠错技术。之所以说它并不是一种内存型号,是因为它并日不是一种影响内存结构和存储速度的技术。它可以用到不同的内存类型中,就像“脚奇偶校验”内存,它也不是一种单纯的硬件。
带ECC校验际她损钟异其的内存还要主板支持,并在B白劳绿你预IOS中进行相应的设置,应用到大多数服务器主板上,一些厂商推出的入门级低端服务器使用的多是普通内存,无ECC功能,在选购时应该注意这个指标。由于ECC技术会增加成本,并且大多数家用计算机并不要求高度的可靠性,所以除XEON(志强)系列外配外命项随,Intel公司的桌面级CPU(G、I3、I5、I7系列等)都不支持ECC内存。XEON(志强)CPU对内存的要求是向下兼容的,也就是说支持ECC内存也支持非ECC内存。