ฉันจะตีความสถิติของการเรียกใช้ memtest ได้อย่างไร


63

ฉันมีสมุดบันทึกที่นี่ซึ่งฉันสงสัยว่ามีโมดูลหน่วยความจำผิดพลาด ฉันจึงดาวน์โหลดMemtest86 +และปล่อยให้มันทำงาน

โปรดทราบว่าภาพหน้าจอไม่ใช่ภาพจริงของฉันมันให้บริการโดย memtest86 +

MemTest

ฉันจะตีความตัวเลขบนหน้าจอได้อย่างไร ฉันปล่อยให้มันทำงานประมาณสี่ชั่วโมงและตอนนี้ฉันผ่าน 7

โดยเฉพาะสิ่งที่ทำ

  • หมายเลขทดสอบ
  • จำนวนข้อผิดพลาด
  • จำนวนข้อผิดพลาด ECC

บ่งบอก? ค่าสติสำหรับข้อผิดพลาดของหน่วยความจำคืออะไร ฉันควรพิจารณาเปลี่ยนหน่วยความจำ ณ จุดใด


3
คุณต้องการที่จะใช้หน่วยความจำด้วยข้อผิดพลาดใด ๆ ?
Daniel Beck

4
คำแนะนำเท่านั้น :) อย่าเพิกเฉยข้อผิดพลาดใน memtest ข้อผิดพลาดเพียงเล็กน้อยเดียวใน RAM อาจทำให้ระบบปฏิบัติการสมบูรณ์และทำให้ข้อมูลสูญหาย
Rufo El Magufo

2
โดยทั่วไปถ้าคุณไม่เห็นกระพริบขนาดใหญ่พื้นที่สีแดงมันคือทั้งหมดที่ :-) ดี
Col

5
หากข้อผิดพลาดถูก จำกัด พื้นที่เฉพาะในหน่วยความจำและคุณใช้ Linux คุณสามารถบอกให้เคอร์เนลละเว้นพื้นที่เหล่านั้นตามที่ระบุไว้ที่นี่: gquigs.blogspot.com/2009/01/bad-memory-howto.htmlหากคุณ กำลังใช้งาน Windows ข้อผิดพลาดไม่ได้อยู่ในพื้นที่ที่สอดคล้องกันหรือมีจำนวนมากเกินไปคุณควรได้รับ RAM ใหม่
user55325

4
นอกจากนี้หากเมมโมรี่สติ๊กเริ่มต้นล้มเหลวอาจเป็นไปได้ว่าพื้นที่ส่วนใหญ่เกิดข้อผิดพลาดขึ้น หน่วยความจำราคาถูกเมื่อเทียบกับค่าใช้จ่ายในการค้นหาข้อมูลที่เสียหายและปัญหาระบบล่ม
Zds

คำตอบ:


82

TL; DR

จำนวนที่สำคัญที่สุดครั้งแรกนับข้อผิดพลาดสำหรับหน่วยความจำที่ดีต่อสุขภาพควรจะเป็น 0 หมายเลขใด ๆ ข้างต้น 0 อาจระบุเซกเตอร์ที่เสียหาย / ผิดพลาด


คำอธิบายหน้าจอ

     Memtest86+ v1.00      | Progress of the entire pass (test series)
CPU MODEL and clock speed  | Progress of individual, current test
Level 1 cache size & speed | Test type that is currently running
Level 2 cache size & speed | Part of the RAM (sector) that is being tested
RAM size and testing speed | Pattern that is being written to the sector
Information about the chipset that your mainboard uses
Information about your RAM set-up, clock speed, channel settings, etc.

WallTime   Cached  RsvdMem   MemMap   Cache  ECC  Test  Pass  Errors  ECC Errs
---------  ------  -------  --------  -----  ---  ----  ----  ------  --------
Elapsed    Amount  Amount    Mapping  on     on   Test  # of  # of    # of ECC
time       of RAM  of        used     or     or   type  pass  errors  errors
           cached  reserved           off    off        done  found   found
                   RAM, not
                   tested

ข้อมูล / คำอธิบายการทดสอบ

MemTest ทำการทดสอบจำนวนหนึ่งโดยจะเขียนรูปแบบเฉพาะไปยังทุกส่วนของหน่วยความจำและดึงข้อมูลออกมา หากข้อมูลที่ดึงมานั้นแตกต่างจากข้อมูลที่เก็บไว้ แต่เดิม MemTest จะลงทะเบียนข้อผิดพลาดและเพิ่มจำนวนข้อผิดพลาดทีละรายการ ข้อผิดพลาดมักเป็นสัญญาณของแถบ RAM ที่ไม่ดี

เนื่องจากหน่วยความจำไม่ได้เป็นเพียงแผ่นจดบันทึกที่เก็บข้อมูล แต่มีฟังก์ชั่นขั้นสูงเช่นแคชจึงทำการทดสอบที่แตกต่างกันหลายอย่าง นี่คือสิ่งที่Test #บ่งบอก MemTest ดำเนินการทดสอบต่าง ๆ จำนวนมากเพื่อดูว่ามีข้อผิดพลาดเกิดขึ้น

ตัวอย่างการทดสอบ (ประยุกต์) อย่างง่าย:

  • ภาคการทดสอบตามลำดับนี้: A, B, C, D, E, F. (อนุกรม)
  • ภาคการทดสอบตามลำดับนี้: A, C, E, B, D, F. (การย้าย)
  • เติมทุกรูปแบบด้วยรูปแบบ: aaaaaaaa
  • เติมทุกภาคส่วนด้วยรูปแบบสุ่ม

คำอธิบายโดยละเอียดเพิ่มเติมของการทดสอบทั้งหมดจาก: https://www.memtest86.com/technical.htm#detailed

ทดสอบ 0 [ทดสอบที่อยู่, รายการเดิน, ไม่มีแคช]

ทดสอบบิตแอดเดรสทั้งหมดในธนาคารหน่วยความจำทั้งหมดโดยใช้รูปแบบแอดเดรสแอดเดรสแบบระบุตำแหน่ง

การทดสอบ 1 [การทดสอบที่อยู่ที่อยู่ของตัวเองตามลำดับ]

แต่ละที่อยู่จะถูกเขียนด้วยที่อยู่ของตัวเองจากนั้นจะตรวจสอบความสอดคล้อง ในทางทฤษฎีการทดสอบก่อนหน้านี้ควรมีปัญหาการจัดการกับหน่วยความจำใด ๆ การทดสอบนี้ควรตรวจพบข้อผิดพลาดในการจัดการกับข้อผิดพลาดที่ไม่เคยตรวจพบมาก่อน การทดสอบนี้ดำเนินการตามลำดับกับ CPU ที่มีอยู่แต่ละตัว

ทดสอบ 2 [การทดสอบที่อยู่, ที่อยู่ของตนเอง, ขนาน]

เช่นเดียวกับการทดสอบ 1 แต่การทดสอบจะทำแบบขนานโดยใช้ CPU ทั้งหมดและใช้ที่อยู่ที่ทับซ้อนกัน

การทดสอบ 3 [การย้ายผิวน้ำคน & ศูนย์ลำดับต่อเนื่อง]

การทดสอบนี้ใช้อัลกอริธึมการเคลื่อนย้ายแบบเคลื่อนไหวที่มีรูปแบบของทุกค่าและศูนย์ เปิดใช้งานแคชแม้ว่าจะรบกวนบางระดับด้วยอัลกอริทึมการทดสอบ ด้วยการเปิดใช้งานแคชการทดสอบนี้ใช้เวลาไม่นานและควรหาข้อผิดพลาด "ยาก" ทั้งหมดอย่างรวดเร็วและข้อผิดพลาดเล็กน้อยเพิ่มเติม การทดสอบนี้เป็นการตรวจสอบด่วนเท่านั้น การทดสอบนี้ดำเนินการตามลำดับกับ CPU ที่มีอยู่แต่ละตัว

บททดสอบที่ 4 [การย้ายผิวน้ำคน & ศูนย์คู่ขนาน]

เหมือนกับการทดสอบ 3 แต่การทดสอบเสร็จสิ้นพร้อมกันโดยใช้ CPU ทั้งหมด

ทดสอบ 5 [การย้ายการบุกรุก 8 บิตตบเบา ๆ ]

สิ่งนี้เหมือนกับการทดสอบ 4 แต่ใช้รูปแบบ "การเดิน" และเลขศูนย์แบบกว้าง 8 บิต การทดสอบนี้จะตรวจพบข้อผิดพลาดเล็กน้อยในชิปหน่วยความจำ "wide"

ทดสอบ 6 [การเคลื่อนย้ายแบบผกผันรูปแบบสุ่ม]

การทดสอบ 6 ใช้อัลกอริทึมเดียวกับการทดสอบ 4 แต่รูปแบบข้อมูลเป็นตัวเลขสุ่มและเป็นส่วนประกอบที่สมบูรณ์ การทดสอบนี้มีประสิทธิภาพโดยเฉพาะอย่างยิ่งในการหายากที่จะตรวจสอบข้อผิดพลาดที่สำคัญข้อมูล ลำดับหมายเลขสุ่มนั้นแตกต่างกันในแต่ละรอบเพื่อเพิ่มประสิทธิภาพในการผ่านหลายครั้ง

การทดสอบ 7 [การย้ายบล็อกการเคลื่อนไหว 64 ครั้ง]

การทดสอบนี้เน้นหน่วยความจำโดยใช้คำแนะนำการย้ายบล็อก (movsl) และขึ้นอยู่กับการทดสอบ burnBX ของ Robert Redelmeier หน่วยความจำเริ่มต้นได้ด้วยรูปแบบการเลื่อนที่กลับด้านทุกๆ 8 ไบต์ จากนั้นหน่วยความจำ 4mb จะถูกย้ายไปรอบ ๆ โดยใช้คำสั่ง movsl หลังจากการย้ายเสร็จสมบูรณ์แล้วรูปแบบข้อมูลจะถูกตรวจสอบ เนื่องจากข้อมูลถูกตรวจสอบหลังจากหน่วยความจำเคลื่อนที่เสร็จสมบูรณ์จึงไม่สามารถทราบได้ว่าเกิดข้อผิดพลาดขึ้นที่ใด ที่อยู่ที่รายงานมีไว้สำหรับจุดที่พบรูปแบบที่ไม่ดีเท่านั้น เนื่องจากการย้ายถูก จำกัด ให้ส่วนของหน่วยความจำ 8mb ที่อยู่ที่ล้มเหลวจะน้อยกว่า 8mb จากที่อยู่ที่รายงานเสมอ ข้อผิดพลาดจากการทดสอบนี้ไม่ได้ใช้ในการคำนวณรูปแบบ BadRAM

ทดสอบ 8 [การย้ายการบุกรุก 32 บิต pat]

นี่คือการเปลี่ยนแปลงของอัลกอริทึมการย้ายที่ย้ายรูปแบบข้อมูลเลื่อนไปทางซ้ายหนึ่งบิตสำหรับแต่ละที่อยู่ต่อเนื่องกัน ตำแหน่งบิตเริ่มต้นจะเลื่อนไปทางซ้ายสำหรับแต่ละรอบ ในการใช้รูปแบบข้อมูลที่เป็นไปได้ทั้งหมดต้องผ่าน 32 การทดสอบนี้ค่อนข้างมีประสิทธิภาพในการตรวจสอบข้อผิดพลาดที่ละเอียดอ่อนของข้อมูล แต่เวลาในการดำเนินการนั้นยาวนาน

ทดสอบ 9 [ลำดับหมายเลขสุ่ม]

การทดสอบนี้เขียนชุดของตัวเลขสุ่มลงในหน่วยความจำ โดยการรีเซ็ตเมล็ดสำหรับหมายเลขสุ่มลำดับของหมายเลขเดียวกันสามารถสร้างขึ้นสำหรับการอ้างอิง รูปแบบเริ่มต้นจะถูกตรวจสอบจากนั้นเสริมและตรวจสอบอีกครั้งในรอบต่อไป อย่างไรก็ตามสิ่งที่ต่างจากการทดสอบและการตรวจสอบการเคลื่อนย้ายสามารถทำได้ในทิศทางไปข้างหน้าเท่านั้น

ทดสอบ 10 [โมดูโล 20, ค่าศูนย์ &]

การใช้อัลกอริทึม Modulo-X ควรเปิดเผยข้อผิดพลาดที่ไม่ถูกตรวจพบโดยการย้ายผู้บุกรุกเนื่องจากแคชและการรบกวนบัฟเฟอร์ด้วยอัลกอริทึม เช่นเดียวกับการทดสอบเพียงหนึ่งเดียวและเป็นศูนย์ที่ใช้สำหรับรูปแบบข้อมูล

ทดสอบ 11 [ทดสอบบิตเฟดจาง 90 นาที 2 รูปแบบ]

การทดสอบการจางของบิตเริ่มต้นหน่วยความจำทั้งหมดด้วยรูปแบบจากนั้นพักเป็นเวลา 5 นาที จากนั้นหน่วยความจำจะถูกตรวจสอบเพื่อดูว่ามีการเปลี่ยนแปลงบิตหน่วยความจำหรือไม่ ใช้รูปแบบทั้งหมดและศูนย์ทั้งหมด

เนื่องจากบางครั้งเซกเตอร์เสียอาจใช้งานได้และไม่สามารถทำงานได้ในเวลาอื่นฉันแนะนำให้ MemTest ทำการทดสอบสองสามครั้ง การผ่านเต็มรูปแบบเป็นชุดการทดสอบที่สมบูรณ์ซึ่งผ่านการทดสอบแล้ว (ชุดทดสอบด้านบน 1-11) ยิ่งคุณผ่านได้มากขึ้นโดยไม่มีข้อผิดพลาดการทดสอบ MemTest ที่แม่นยำยิ่งขึ้น ฉันมักจะวิ่งผ่าน 5 รอบเพื่อให้แน่ใจ

จำนวนข้อผิดพลาดสำหรับหน่วยความจำที่ดีควรเป็น 0 หมายเลขใด ๆ ที่สูงกว่า 0 อาจบ่งบอกถึงเซกเตอร์ที่เสียหาย / ผิดพลาด

การนับข้อผิดพลาด ECCควรนำมาพิจารณาเมื่อECCตั้งค่าเป็นoffเท่านั้น ECC ย่อมาจากหน่วยความจำรหัสแก้ไขข้อผิดพลาดและเป็นกลไกในการตรวจจับและแก้ไขบิตผิดในสถานะหน่วยความจำ สามารถเปรียบเทียบได้เล็กน้อยกับการตรวจสอบพาริตีที่ทำบน RAID หรือสื่อออปติคัล เทคโนโลยีนี้มีราคาค่อนข้างแพงและมักจะพบในการตั้งค่าเซิร์ฟเวอร์เท่านั้น การนับ ECC นับจำนวนข้อผิดพลาดที่ได้รับการแก้ไขโดยกลไก ECC ของหน่วยความจำ ไม่ควรเรียกใช้ ECC สำหรับ RAM ที่มีสุขภาพดีดังนั้นข้อผิดพลาด ECC ที่มีค่ามากกว่า 0 อาจบ่งบอกว่าหน่วยความจำไม่ดี


คำอธิบายข้อผิดพลาด

ตัวอย่าง Memtest ที่พบข้อผิดพลาด มันแสดงให้เห็นว่าภาค / ที่อยู่ล้มเหลว

หน้าจอ Memtest ที่มีข้อผิดพลาด

คอลัมน์แรก ( Tst ) แสดงการทดสอบที่ล้มเหลวจำนวนที่สอดคล้องกับหมายเลขการทดสอบจากรายการที่กล่าวถึงข้างต้น คอลัมน์ที่สอง ( ผ่าน ) แสดงว่าการทดสอบนั้นผ่านไปแล้วหรือยัง ในกรณีของตัวอย่างการทดสอบ 7 ไม่มีการผ่าน

คอลัมน์ที่สาม ( ที่อยู่ที่ล้มเหลว ) แสดงให้เห็นว่าส่วนใดของหน่วยความจำมีข้อผิดพลาด ส่วนดังกล่าวมีที่อยู่ซึ่งคล้ายกับที่อยู่ IP ซึ่งเป็นลักษณะเฉพาะสำหรับการจัดเก็บข้อมูลส่วนนั้น มันแสดงให้เห็นว่าที่อยู่ใดล้มเหลวและก้อนข้อมูลขนาดใหญ่เพียงใด (ในตัวอย่าง 0.8MB)

คอลัมน์ที่สี่ ( ดี ) และที่ห้า ( ไม่ดี ) แสดงข้อมูลที่ถูกเขียนและสิ่งที่ถูกเรียกคืนตามลำดับ ทั้งสองคอลัมน์ควรเท่ากันในหน่วยความจำที่ไม่ผิดพลาด (ชัดแจ้ง)

คอลัมน์ที่หก ( Err-Bits ) แสดงตำแหน่งของบิตที่แน่นอนที่ล้มเหลว

คอลัมน์ที่เจ็ด ( นับ ) แสดงจำนวนข้อผิดพลาดติดต่อกันด้วยที่อยู่เดียวกันและบิตที่ล้มเหลว

ในที่สุดคอลัมน์เจ็ดคอลัมน์สุดท้าย ( จัน ) จะแสดงช่องสัญญาณ (หากมีการใช้ช่องสัญญาณหลายช่องในระบบ) ซึ่งมีแถบหน่วยความจำอยู่


หากพบข้อผิดพลาด

หาก MemTest ค้นพบข้อผิดพลาดใด ๆ วิธีที่ดีที่สุดในการพิจารณาว่าโมดูลใดที่ผิดพลาดจะอยู่ในคำถามผู้ใช้ขั้นสูงนี้และคำตอบที่ยอมรับได้:

ใช้กระบวนการกำจัด - ลบโมดูลครึ่งหนึ่งออกและรันการทดสอบอีกครั้ง ...

หากไม่มีความล้มเหลวคุณก็รู้ว่าทั้งสองโมดูลนั้นดีดังนั้นให้วางมันไว้และทดสอบอีกครั้ง

หากมีความล้มเหลวให้ลดครึ่งหนึ่งอีกครั้ง (ลงหนึ่งในสี่โมดูลหน่วยความจำตอนนี้) จากนั้นทดสอบอีกครั้ง

แต่เพียงเพราะหนึ่งล้มเหลวในการทดสอบอย่าคิดว่าอีกอันไม่ได้ล้มเหลว (คุณอาจมีโมดูลหน่วยความจำที่ล้มเหลวสองโมดูล) - เมื่อคุณตรวจพบความล้มเหลวของโมดูลหน่วยความจำสองแห่งให้ทดสอบแต่ละสองรายการแยกกันหลังจากนั้น .

หมายเหตุสำคัญ: ด้วยคุณสมบัติเช่นเมมโมรี่ interleaving และโมดูลหมายเลขโมดูลซ็อกเก็ตหน่วยความจำที่ไม่ดีโดยผู้จำหน่ายแผงวงจรหลักบางรายจึงเป็นเรื่องยากที่จะทราบว่าโมดูลใดจะแสดงด้วยที่อยู่ที่ให้มา


ขอบคุณสำหรับคำอธิบาย! คุณช่วยตอบคำถามเกี่ยวกับโมดูล RAM ที่ตรงกับข้อผิดพลาดได้หรือไม่? 000c34e98dc - 3124.9MBฉันมีความล้มเหลวที่อยู่เท่ากับ ทำไมขนาดก้อนใหญ่เช่นนี้? ฉันมีโมดูล 2x1Gb และ 2x2Gb ในพีซีของฉัน วิธีการค้นหาหนึ่งที่ทำให้เกิดความล้มเหลว?
มิคาอิล

@ Mikail ฉันอยากจะแนะนำคุณกับคำถามนี้และคำตอบที่ได้รับการยอมรับ: superuser.com/questions/253875//
BloodPhilia

0 ข้อผิดพลาดไม่ได้หมายความว่า RAM ผิดพลาดฉันมีกรณีที่ RAM ติดส่งผ่าน memtest ด้วยคะแนน 100% และโดยการแทนที่ฉันสามารถแก้ไขปัญหาที่ยุ่งยากได้เท่านั้น
Guy ชาวบราซิลนั่น

3
หมายเลขหน่วยเป็น MB หลังจากที่อยู่เลขฐานสิบหกไม่ใช่ขนาดของข้อผิดพลาด แต่เป็นตำแหน่งข้อผิดพลาดเป็น MB ฉันค่อนข้างมั่นใจว่าขนาดของข้อผิดพลาดใด ๆ จะเป็นหนึ่งคำเสมอเนื่องจากนั่นคือขนาดของสิ่งที่เขียนไปยังหน่วยความจำ
Jarryd

6

จำนวนข้อผิดพลาด

เมื่อผ่านการทดสอบหากหน่วยความจำล้มเหลวสำหรับการทดสอบใด ๆ ก็จะเพิ่มจำนวนข้อผิดพลาด หากฉันจำได้ถูกต้องมันจะนับจำนวนที่อยู่ที่ไม่ผ่านการทดสอบ

จำนวนข้อผิดพลาด ECC

หน่วยความจำ ECCเป็นชิปหน่วยความจำชนิดพิเศษที่ใช้เพื่อป้องกันไม่ให้ข้อมูลเกิดความเสียหาย ECC Errsคอลัมน์ของคุณนับจำนวนปัญหาที่แก้ไขโดย ECC

(ECC นั้นช้าและมีราคาแพงและโดยพื้นฐานแล้วสำหรับระบบที่สำคัญต่อภารกิจที่ไม่สามารถเปลี่ยน RAM ได้)

หมายเลขทดสอบ

Memtest ทำการทดสอบประเภทต่าง ๆ ในหน่วยความจำของคุณซึ่งอธิบายไว้ในเว็บไซต์Memtest86 เช่นเดียวกับการแปลภาษาอังกฤษแบบธรรมดาอย่างรวดเร็ว:

การทดสอบ 0: การทดสอบที่อยู่ของคนเดินเท้า

Memtest จะเขียน00000001ในตำแหน่งหน่วยความจำแรก00000010ในตำแหน่งถัดไปเป็นต้นไปทำซ้ำรูปแบบนี้ทุก 8 ไบต์ จากนั้นจะอ่านหน่วยความจำและตรวจสอบให้แน่ใจว่าค่าไม่เปลี่ยนแปลง ( ที่มา )

การทดสอบ 1 และ 2: การทดสอบที่อยู่ของคุณเอง

Memtest เขียนตำแหน่งหน่วยความจำแต่ละแห่งด้วยที่อยู่ของตนเองและตรวจสอบว่าค่าไม่เปลี่ยนแปลง

การทดสอบ 1 เป็นลำดับและการทดสอบ 2 เป็นแบบขนาน (เช่นใช้การทำงานพร้อมกัน)

ทดสอบการทดสอบการย้าย 3 และ 4

ในสาระสำคัญการทดสอบนี้โหลด 0s ลงในหน่วยความจำแล้ว

  1. ใช้เวลาแต่ละตำแหน่งของหน่วยความจำ (เริ่มต้นจากตำแหน่งแรก / ต่ำสุด)
  2. และเขียนค่าผกผันของรูปแบบ (ฉันเชื่อว่ามันไม่เหมาะสม แต่ฉันไม่พบเอกสารใด ๆ ในนั้น)

เป้าหมายที่นี่คือพยายามทดสอบทุกบิตและบิตที่อยู่ติดกัน "ทุกชุดที่เป็นไปได้คือ 0 และ 1"

การทดสอบ 3 ไม่ใช้การทำงานพร้อมกันในขณะที่การทดสอบ 4 ทำ

ทดสอบ 5: การย้าย Inversions, Pat 8 บิต

นี่เป็นวิธีการย้ายที่เคลื่อนไหวอีกครั้ง แต่คราวนี้ด้วยการเดิน 1 จากการทดสอบ 0 ในบล็อก 8 บิต

ทดสอบ 6: ย้ายการย้ายรูปแบบสุ่ม

Memtest ใช้ตัวเลขสุ่มแทน 0 ทั้งหมดหรือเดิน 1s

ทดสอบ 7: ย้ายบล็อก

สนุกนี้ มันโหลดรูปแบบลงในหน่วยความจำย้ายพวกเขาไปรอบ ๆ ในบล็อก 4mb และตรวจสอบพวกเขา

ทดสอบ 8: การย้ายผกผัน Pat แบบ 32 บิต

เหมือนกับการทดสอบ 5 แต่ใช้บล็อกแบบ 32 บิตแทน อันนี้อันที่จริงแล้วโหลดทุกค่า 32- บิตที่เป็นไปได้ในทุกตำแหน่ง

ทดสอบ 9: ตัวเลขสุ่ม

อันนี้ทำการโหลดตัวเลขหลอกหลอกเข้าไปในหน่วยความจำและตรวจสอบ สิ่งที่ยอดเยี่ยมเกี่ยวกับตัวสร้างตัวเลขสุ่มหลอกก็คือมันไม่ได้สุ่มมาก (ถ้าคุณเคยวิ่งprintf("%d", rand());ในโปรแกรม C โดยไม่ต้องมีการเพาะและได้รับแบบสุ่ม 41 คุณรู้ว่าฉันหมายถึงอะไร) ดังนั้นมันจึงตรวจสอบโดยการรีเซ็ต seeder หมายเลขสุ่มและรันตัวสร้างอีกครั้ง

ทดสอบ 10: Modulo-X

ทุก ๆ 20 ที่ตั้งจะเขียนรูปแบบ (0 ทั้งหมดหรือ 1 ทั้งหมด) และเขียนส่วนประกอบในตำแหน่งอื่นทั้งหมดจากนั้นตรวจสอบ

ทดสอบ 11: การทดสอบบิตจาง

อันนี้โหลดแรมด้วย 1s ทั้งหมด (และอีกครั้งด้วย 0s ทั้งหมด) รอ 5 นาทีและดูว่ามีค่าใดเปลี่ยนแปลง


6

หมายเลขทดสอบ: จำนวนของการทดสอบเฉพาะที่ memtest กำลังทำงานอยู่ มีจำนวนมาก

จำนวนข้อผิดพลาด: จำนวนข้อผิดพลาดของหน่วยความจำที่พบ

ข้อผิดพลาด ECC: จำนวนข้อผิดพลาดที่แก้ไขโดย ECC ชิปเซ็ต / หน่วยความจำของคุณไม่มี ECC ดังนั้นตัวเลขนี้จึงไม่สำคัญ

หากหน่วยความจำของคุณมีข้อผิดพลาดจำนวนใด ๆ ที่อยู่เหนือ 0 คุณจะต้องการแทนที่

แก้ไข: การทดสอบเป็นรูปแบบที่แตกต่างกันที่ memtest เขียนลงในหน่วยความจำ มันเขียนรูปแบบที่แตกต่างกันในหน่วยความจำและอ่านกลับเพื่อตรวจสอบข้อผิดพลาดและใช้รูปแบบที่แตกต่างกันเพื่อให้สามารถทดสอบสถานะทั้งหมดของบิตทั้งหมด

จำนวนที่ระบุบ่งชี้จำนวนครั้งที่ผลลัพธ์ที่อ่านกลับเข้าไปใน memtest ไม่ตรงกับสิ่งที่มันเขียนไว้ในหน่วยความจำแสดงว่ามีข้อผิดพลาดในกลุ่มของหน่วยความจำที่กำลังทดสอบ

ECC เป็นเทคโนโลยีการแก้ไขข้อผิดพลาดที่มีอยู่ในชิปหน่วยความจำสำหรับเซิร์ฟเวอร์และเวิร์กสเตชัน dekstops ส่วนใหญ่ไม่รองรับโมดูลหน่วยความจำที่มี ECC อยู่ภายในเซิร์ฟเวอร์ / เวิร์กสเตชันเกือบทั้งหมดมีการรองรับและมักจำเป็นต้องใช้ จำนวนข้อผิดพลาดที่แก้ไขโดย ECC คือจำนวนข้อผิดพลาดที่ชิป ECC แก้ไขได้สำเร็จ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.