กลับไปหน้าบทความ

อ่าน 4 นาที

ข้อผิดพลาดในการตรวจสอบเครื่องจักร

ข้อผิดพลาดตรวจสอบเครื่อง ( MCE ) เป็นประเภทของ ข้อผิดพลาดทางคอมพิวเตอร์ ที่เกิดขึ้นเมื่อตรวจพบปัญหาเกี่ยวกับ ฮาร์ดแวร์ ของคอมพิวเตอร์ สำหรับคอมพิวเตอร์ ส่วนบุคคลทั่วไปส่วนใหญ่ MCE...

ข้อผิดพลาดในการตรวจสอบเครื่องจักร

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

ลักษณะและสาเหตุของ MCE (Meaning of Event) อาจแตกต่างกันไปตามสถาปัตยกรรมและรุ่นของระบบ ในบางการออกแบบ MCE มักเป็นข้อผิดพลาดที่ไม่สามารถแก้ไขได้ ซึ่งจะทำให้เครื่องหยุดทำงานและต้องรีสตาร์ทในขณะที่ในสถาปัตยกรรมอื่นๆ MCE บางอย่างอาจไม่ร้ายแรง เช่น ข้อผิดพลาดแบบบิตเดียวที่แก้ไขได้ด้วยหน่วยความจำ ECCในบางสถาปัตยกรรม เช่นPowerPCข้อบกพร่องของซอฟต์แวร์บางอย่างอาจทำให้เกิด MCE ได้ เช่น การเข้าถึงหน่วยความจำที่ไม่ถูกต้อง ในขณะที่ในสถาปัตยกรรมอื่นๆ เช่นx86 MCE มักเกิดจากฮาร์ดแวร์เท่านั้น

การรายงาน

ระบบปฏิบัติการเมนเฟรมของ IBM

ระบบปฏิบัติการ IBM System/360 ( OS/360 ) บันทึกข้อผิดพลาดในการป้อนข้อมูล/ส่งออกในชุดข้อมูลที่เรียกว่า SYS1.LOGREC ตั้งแต่นั้นมา IBM ได้บัญญัติศัพท์ชุดข้อมูลบันทึกข้อผิดพลาด ( ERDs ) สำหรับเวอร์ชันต่อๆ มาที่อนุญาตให้การติดตั้งเลือกชื่อและสำหรับระบบปฏิบัติการที่ไม่ได้สืบทอดมาจาก OS/360 [ 1 ]

โอเอส/360

ใน OS/360 การติดตั้งสามารถเลือกการสนับสนุนได้หลายระดับสำหรับการจัดการตรวจสอบเครื่องจักร ระดับที่ซับซ้อนที่สุดคือ Machine Check Handler (MCH) ซึ่งจะบันทึกข้อมูลความล้มเหลวลงใน SYS1.LOGREC และพยายามกู้คืน การติดตั้งสามารถพิมพ์ข้อมูลเหล่านั้นได้โดยใช้โปรแกรมช่วยเหลือ Environmental Record Editing and Printing Program (EREP) หรือเวอร์ชันแบบสแตนด์อะโลน SEREP MCH สามารถจัดการความล้มเหลวของหน่วยความจำใน ส่วนควบคุมนิวเคลียส ที่สามารถรีเฟรชได้โดยการอ่านสำเนาใหม่จาก SYS1.ASRLIB และสามารถจัดการข้อผิดพลาดของหน่วยความจำในพื้นที่ชั่วคราว SVC ได้โดยการอ่านสำเนาใหม่ของโมดูล SVC จาก SYS1.SVCLIB

z/OS

ใน z/OS การติดตั้งสามารถใช้ ERDS หรือกำหนดสตรีมบันทึก az/OS System Logger [ 2 ]เพื่อเก็บข้อมูลข้อผิดพลาดได้ เช่นเดียวกับ OS/360 การติดตั้งจะใช้ EREP เพื่อพิมพ์ข้อมูลเหล่านั้น SEREP ไม่สามารถใช้งานได้อีกต่อไป MCH ไม่ใช่ตัวเลือกเสริมอีกต่อไป และจัดการโหมดความล้มเหลวได้มากกว่า MCH ของ OS/360 มาก

ไมโครซอฟต์ วินโดวส์

ใน แพลตฟอร์ม Microsoft Windowsหากเกิดข้อผิดพลาด MCE ที่ไม่สามารถแก้ไขได้ ระบบจะสร้าง BugCheck ขึ้นมา ซึ่งเรียกอีกอย่างว่าข้อผิดพลาด STOP หรือหน้าจอสีน้ำเงินแห่งความตาย

ระบบปฏิบัติการ Windows รุ่นใหม่กว่าใช้สถาปัตยกรรมข้อผิดพลาดฮาร์ดแวร์ของ Windows (WHEA) และสร้างรหัส STOP 0x124, WHEA_UNCORRECTABLE_ERROR พารามิเตอร์ทั้งสี่ (ในวงเล็บ) จะแตกต่างกันไป แต่พารามิเตอร์แรกจะเป็น 0x0 เสมอสำหรับ MCE [ 3 ] ตัวอย่าง:

 หยุด: 0x00000124 (0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) 

Windows เวอร์ชันเก่าใช้สถาปัตยกรรมตรวจสอบเครื่อง (Machine Check Architecture ) โดยมีรหัส STOP 0x9C, MACHINE_CHECK_EXCEPTION [ 4 ] ตัวอย่าง:

 หยุด: 0x0000009C (0x00000030, 0x00000002, 0x00000001, 0x80003CBA) 

ลินุกซ์

บนLinuxเคอร์เนลจะเขียนข้อความเกี่ยวกับ MCE ไปยังบันทึกข้อความของเคอร์เนลและคอนโซลของระบบเมื่อ MCE ไม่ร้ายแรง โดยทั่วไปแล้วจะมีการคัดลอกไปยังบันทึกระบบและ/หรือบันทึก systemd ด้วยสำหรับบางระบบ อาจมีการรายงานข้อผิดพลาด ECC และข้อผิดพลาดที่แก้ไขได้อื่นๆ ผ่านทาง MCE facilities [ 5 ]

ตัวอย่าง:

 CPU 0: ข้อผิดพลาดในการตรวจสอบเครื่อง: 00000000000000004 ธนาคาร 2: f200200000000863 Kernel panic: CPU context corrupt 

ประเภทของปัญหา

ปัญหาฮาร์ดแวร์หลักบางประการที่ทำให้เกิด MCE ได้แก่:

สาเหตุที่เป็นไปได้

ข้อผิดพลาด "Machine-check exceptions" มักเป็นปัญหาด้านฮาร์ดแวร์ ไม่ใช่ซอฟต์แวร์ มักเกิดจากการโอเวอร์คล็อกหรือความร้อนสูงเกินไป ในบางกรณี CPU จะปิดตัวเองเมื่อถึงขีดจำกัดความร้อนเพื่อป้องกันความเสียหายถาวร แต่ก็อาจเกิดจากข้อผิดพลาดของบัสที่เกิดจากส่วนประกอบอื่นๆ ที่เสียหาย เช่น หน่วยความจำหรืออุปกรณ์ I/O สาเหตุที่เป็นไปได้ ได้แก่:

  • การระบายความร้อนของ CPU ไม่ดีเนื่องจากฮีทซิงค์ CPUและพัดลมเคส (หรือตัวกรอง) อุดตันด้วยฝุ่นหรือหลวม
  • การโอเวอร์คล็อกเกินกว่าความเร็วสัญญาณนาฬิกาสูงสุดที่ซีพียูยังคงทำงานได้อย่างเสถียร
  • เมนบอร์ดเสีย
  • โปรเซสเซอร์ทำงานผิดปกติ
  • ความจำเสื่อม
  • ตัวควบคุม I/O เสียหาย ไม่ว่าจะเป็นบนเมนบอร์ดหรือการ์ดแยกต่างหาก
  • อุปกรณ์ I/O เสียหาย
  • แหล่งจ่ายไฟไม่เพียงพอหรือขัดข้อง
  • ปัญหาสิ่งแวดล้อม[ 6 ]
  • ข้อผิดพลาดของฮาร์ดแวร์ที่เกิดจากซอฟต์แวร์

ปัญหาเรื่องระบบระบายความร้อนมักจะสังเกตเห็นได้ชัดเมื่อตรวจสอบ เมนบอร์ดหรือโปรเซสเซอร์ที่เสียสามารถระบุได้โดยการสลับกับชิ้นส่วนที่ใช้งานได้ หน่วยความจำสามารถตรวจสอบได้โดยการบูตเข้าสู่เครื่องมือวินิจฉัย เช่นmemtest86อุปกรณ์ I/O และคอนโทรลเลอร์ที่ไม่สำคัญที่เสียสามารถระบุได้โดยการถอดปลั๊กออกหากทำได้ หรือปิดใช้งานอุปกรณ์เพื่อดูว่าปัญหาหายไปหรือไม่ หากความล้มเหลวมักเกิดขึ้นค่อนข้างเร็วหลังจากบูตระบบปฏิบัติการ หรือไม่เกิดขึ้นเลย หรือไม่เกิดขึ้นเป็นเวลาหลายวัน อาจบ่งชี้ถึงปัญหาที่แหล่งจ่ายไฟ ในกรณีที่แหล่งจ่ายไฟมีปัญหา ความล้มเหลวมักจะเกิดขึ้นเมื่อความต้องการพลังงานสูงสุดเมื่อระบบปฏิบัติการเริ่มต้นใช้งานอุปกรณ์ภายนอกใดๆ

การถอดรหัส MCE

สำหรับโปรเซสเซอร์ IA-32 และ Intel 64 โปรดดูคู่มือสำหรับนักพัฒนาซอฟต์แวร์สถาปัตยกรรม Intel 64 และ IA-32 [ 7 ]บทที่ 15 (สถาปัตยกรรมตรวจสอบเครื่อง) หรือบทความฐานความรู้ของ Microsoft เกี่ยวกับข้อยกเว้นของ Windows [ 8 ]

โปรแกรมสำหรับถอดรหัส Intel และ AMD MCE

  • rasdaemon [ 9 ]เป็นเครื่องมือบันทึก RAS ( ความน่าเชื่อถือ ความพร้อมใช้งาน และความสามารถในการให้บริการ ) สำหรับLinuxโดยจะบันทึกข้อผิดพลาดของหน่วยความจำโดยใช้เหตุการณ์การติดตาม EDAC EDACเป็นระบบย่อยของเคอร์เนล Linux ที่จัดการการตรวจจับข้อผิดพลาด ECC จากตัวควบคุมหน่วยความจำสำหรับชิปเซ็ตส่วนใหญ่บนสถาปัตยกรรม i386 และ x86_64 นอกจากนี้ยังมีไดรเวอร์ EDAC สำหรับสถาปัตยกรรมอื่นๆ เช่น arm ขอแนะนำให้ใช้ rasdaemon เพื่อรวบรวมข้อมูล MCE บนระบบ Linux เนื่องจาก mcelog ถูกยกเลิกการใช้งานแล้วตั้งแต่ปี 2017 [ 10 ] [ 11 ] [ 12 ] [ 13 ]
  • mcelog [ 14 ]เป็นเดมอน Linux โดย Andi Kleen สำหรับจัดการ MCE สำหรับโปรเซสเซอร์ x86 mcelog ยังสามารถถอดรหัสการตรวจสอบเครื่องได้ด้วย mcelog ถือว่าล้าสมัยทางฟังก์ชันการทำงานตั้งแต่ปี 2017 [ 12 ] [ 13 ]ตัวทดแทน mcelog สำหรับระบบ Linux คือ rasdaemon [ 10 ] [ 11 ]
  • parsemce [ 15 ]เป็นโปรแกรม Linux โดย Dave Jones เพื่อถอดรหัส MCE จากโปรเซสเซอร์AMD K7
  • mced [ 16 ] (mcedaemon) เป็นโปรแกรม Linux โดย Tim Hockin เพื่อรวบรวม MCE จากเคอร์เนลและแจ้งเตือนแอปพลิเคชันที่สนใจ โปรดทราบว่ามันไม่ได้พยายามตีความข้อมูล MCE เพียงแต่แจ้งเตือนโปรแกรมอื่น ๆ เท่านั้น
  • mcat เป็นโปรแกรมบรรทัดคำสั่งสำหรับ Windows จากAMDสำหรับถอดรหัส MCE จากโปรเซสเซอร์AMD K8 , ตระกูล0x10และ0x11

ดูเพิ่มเติม

  • mcelog: การจัดการข้อผิดพลาดฮาร์ดแวร์ขั้นสูงสำหรับ Linux x86
  • parsemce: ตัวแยกวิเคราะห์ตัวจัดการการตรวจสอบข้อยกเว้นของเครื่อง Linux
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Machine-check_exception&oldid=1320328191 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ข้อผิดพลาดในการตรวจสอบเครื่องจักร

ข้อผิดพลาดตรวจสอบเครื่อง ( MCE ) เป็นประเภทของ ข้อผิดพลาดทางคอมพิวเตอร์ ที่เกิดขึ้นเมื่อตรวจพบปัญหาเกี่ยวกับ ฮาร์ดแวร์ ของคอมพิวเตอร์ สำหรับคอมพิวเตอร์ ส่วนบุคคลทั่วไปส่วนใหญ่ MCE...

ระบบปฏิบัติการเมนเฟรมของ IBM

ระบบปฏิบัติการ IBM System/360 ( OS/360 ) บันทึกข้อผิดพลาดในการป้อนข้อมูล/ส่งออกในชุดข้อมูลที่เรียกว่า SYS1.

ไมโครซอฟต์ วินโดวส์

ใน แพลตฟอร์ม Microsoft Windows หากเกิดข้อผิดพลาด MCE ที่ไม่สามารถแก้ไขได้ ระบบจะสร้าง BugCheck ขึ้นมา ซึ่งเรียกอีกอย่างว่าข้อผิดพลาด STOP หรือ หน้าจอสีน้ำเงินแห่งความ ตาย

ลินุกซ์

บน Linux เคอร์เนลจะเขียนข้อความเกี่ยวกับ MCE ไปยังบันทึกข้อความของเคอร์เนลและ คอนโซลของระบบ เมื่อ MCE ไม่ร้ายแรง โดยทั่วไปแล้วจะมีการคัดลอกไปยัง บันทึกระบบ และ/หรือ บันทึก systemd ด้วย สำหรับบางระบบ อาจมีการรายงานข้อผิดพลาด ECC และข้อผิดพลาดที่แก้ไขได้อื่นๆ...