我正在阅读关于Memtest的另一个问题,并开始想知道:Memtest86如何在内存不良的情况下运行?
想想看:Memtest86需要存储有关RAM有多大的信息,它放在RAM中的内容以便稍后进行比较,更新屏幕的位置以及更多信息。使用变量的行为要求RAM正常运行。但是,当您在可能有缺陷的RAM上运行程序时,如何获得可靠的结果?
与此相似的是从您检查的硬盘驱动器运行硬盘驱动器检查程序。你永远不会这样做,一个坏块可能会以许多意想不到的方式影响程序
Memtest86如何在内存不良的情况下运行?
我正在阅读关于Memtest的另一个问题,并开始想知道:Memtest86如何在内存不良的情况下运行?
想想看:Memtest86需要存储有关RAM有多大的信息,它放在RAM中的内容以便稍后进行比较,更新屏幕的位置以及更多信息。使用变量的行为要求RAM正常运行。但是,当您在可能有缺陷的RAM上运行程序时,如何获得可靠的结果?
与此相似的是从您检查的硬盘驱动器运行硬盘驱动器检查程序。你永远不会这样做,一个坏块可能会以许多意想不到的方式影响程序
Memtest86如何在内存不良的情况下运行?
Answers:
主要是因为加载memtest所需的内存量非常小。如果程序运行,则可能是这一区域的内存正常。
有机会 -
是 - 非常不可能。
Memtest绝对必须做出至少一个假设,至少它本身被加载到的内存是好的。之后,它能够完整地扫描和测试剩余的内存。
它可能仍然能够读取和检测其自身内存中的错误,因为作为唯一加载的程序,它应该可以访问系统上的几乎所有内存,因此能够读取并比较该内存到“已知好”的样本。
小。如果某些RAM不好,程序越小,程序的某些部分就越不可能出现在其中一个坏点中。考虑到启动足够远以加载内存测试将涉及一些使用RAM的固件代码,可能的是,如果你可以做到这一点,RAM的低区域运行良好,memtest将能够从它们运行。
想一想:Memtest86需要存储有多大的信息 RAM是什么,它放在RAM中以便以后比较,在哪里更新 屏幕,以及更多信息。使用变量的行为 要求RAM正常运行。但是你怎么能变得可靠 在可能有缺陷的RAM上运行程序时的结果?
好吧,这就是Memtest的作用 - 它将各种(已知)模式写入RAM,读取并进行比较。如果不匹配,则必须损坏RAM。
与此类似的是运行硬盘驱动器检查程序 硬盘你的检查。你永远不会这样做,一个坏块 可能会以许多意想不到的方式影响程序
虽然这是事实,但在某些情况下你别无选择。只要您可以成功加载程序,它就应该能够执行它的诊断任务(即使它在某种错误的介质上运行)。
Memtest86如何在内存不良的情况下运行?
好吧,它必须先将自己加载到内存中。在大多数情况下,这种记忆仍然很好。如果它是 不 ,Memtest很可能通过比较一些就地变量和校验和来确定程序本身是否已损坏。如果它们不匹配,您会立即知道您的RAM是坏的,或者您下载的副本是否已损坏(确定后者是否是原因将是一项微不足道的任务)。
TL,DR:Memtest86 +仅在您的RAM的第一兆字节仍然正常(最有可能加载的位置)时才起作用。假设这个区域已损坏,Memtest86 +本身就不会起作用(这是一个非常快速的指示,即使你没有运行测试,你的RAM也很糟糕)。
如果应用程序保存变量的RAM不好,那么大多数测试都会失败。
该算法会写入所有类型的不同模式,然后通过再次读取它们来检查它们是否写得很好,如果写入或读取没有正确,则会使测试失败。通过运行大多数测试并让它运行几个小时,您可以看到RAM的稳定性......