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 ที่พบข้อผิดพลาด มันแสดงให้เห็นว่าภาค / ที่อยู่ล้มเหลว
คอลัมน์แรก ( Tst ) แสดงการทดสอบที่ล้มเหลวจำนวนที่สอดคล้องกับหมายเลขการทดสอบจากรายการที่กล่าวถึงข้างต้น คอลัมน์ที่สอง ( ผ่าน ) แสดงว่าการทดสอบนั้นผ่านไปแล้วหรือยัง ในกรณีของตัวอย่างการทดสอบ 7 ไม่มีการผ่าน
คอลัมน์ที่สาม ( ที่อยู่ที่ล้มเหลว ) แสดงให้เห็นว่าส่วนใดของหน่วยความจำมีข้อผิดพลาด ส่วนดังกล่าวมีที่อยู่ซึ่งคล้ายกับที่อยู่ IP ซึ่งเป็นลักษณะเฉพาะสำหรับการจัดเก็บข้อมูลส่วนนั้น มันแสดงให้เห็นว่าที่อยู่ใดล้มเหลวและก้อนข้อมูลขนาดใหญ่เพียงใด (ในตัวอย่าง 0.8MB)
คอลัมน์ที่สี่ ( ดี ) และที่ห้า ( ไม่ดี ) แสดงข้อมูลที่ถูกเขียนและสิ่งที่ถูกเรียกคืนตามลำดับ ทั้งสองคอลัมน์ควรเท่ากันในหน่วยความจำที่ไม่ผิดพลาด (ชัดแจ้ง)
คอลัมน์ที่หก ( Err-Bits ) แสดงตำแหน่งของบิตที่แน่นอนที่ล้มเหลว
คอลัมน์ที่เจ็ด ( นับ ) แสดงจำนวนข้อผิดพลาดติดต่อกันด้วยที่อยู่เดียวกันและบิตที่ล้มเหลว
ในที่สุดคอลัมน์เจ็ดคอลัมน์สุดท้าย ( จัน ) จะแสดงช่องสัญญาณ (หากมีการใช้ช่องสัญญาณหลายช่องในระบบ) ซึ่งมีแถบหน่วยความจำอยู่
หากพบข้อผิดพลาด
หาก MemTest ค้นพบข้อผิดพลาดใด ๆ วิธีที่ดีที่สุดในการพิจารณาว่าโมดูลใดที่ผิดพลาดจะอยู่ในคำถามผู้ใช้ขั้นสูงนี้และคำตอบที่ยอมรับได้:
ใช้กระบวนการกำจัด - ลบโมดูลครึ่งหนึ่งออกและรันการทดสอบอีกครั้ง ...
หากไม่มีความล้มเหลวคุณก็รู้ว่าทั้งสองโมดูลนั้นดีดังนั้นให้วางมันไว้และทดสอบอีกครั้ง
หากมีความล้มเหลวให้ลดครึ่งหนึ่งอีกครั้ง (ลงหนึ่งในสี่โมดูลหน่วยความจำตอนนี้) จากนั้นทดสอบอีกครั้ง
แต่เพียงเพราะหนึ่งล้มเหลวในการทดสอบอย่าคิดว่าอีกอันไม่ได้ล้มเหลว (คุณอาจมีโมดูลหน่วยความจำที่ล้มเหลวสองโมดูล) - เมื่อคุณตรวจพบความล้มเหลวของโมดูลหน่วยความจำสองแห่งให้ทดสอบแต่ละสองรายการแยกกันหลังจากนั้น .
หมายเหตุสำคัญ: ด้วยคุณสมบัติเช่นเมมโมรี่ interleaving และโมดูลหมายเลขโมดูลซ็อกเก็ตหน่วยความจำที่ไม่ดีโดยผู้จำหน่ายแผงวงจรหลักบางรายจึงเป็นเรื่องยากที่จะทราบว่าโมดูลใดจะแสดงด้วยที่อยู่ที่ให้มา