stringtranslate.com

Excepción de verificación de máquina

Una excepción de verificación de máquina ( MCE ) es un tipo de error informático que se produce cuando se detecta un problema relacionado con el hardware del equipo . En la mayoría de los ordenadores personales del mercado masivo, una MCE indica un hardware defectuoso o mal configurado.

La naturaleza y las causas de los MCE pueden variar según la arquitectura y la generación del sistema. En algunos diseños, un MCE es siempre un error irrecuperable que detiene la máquina y requiere un reinicio . En otras arquitecturas, algunos MCE pueden no ser fatales, como los errores de un solo bit corregidos por la memoria ECC . En algunas arquitecturas, como PowerPC , ciertos errores de software pueden causar MCE, como un acceso no válido a la memoria. En otras arquitecturas, como x86 , los MCE suelen originarse solo en el hardware.

Informes

Sistemas operativos de mainframe de IBM

El sistema operativo IBM System/360 ( OS/360 ) registra los errores de entrada/salida en un conjunto de datos denominado SYS1.LOGREC. Desde entonces, IBM ha acuñado el término conjunto de datos de registro de errores ( ERDS ) para las versiones posteriores que permiten que la instalación elija el nombre y para los sistemas operativos no derivados de OS/360. [1]

Sistema operativo/360

En OS/360, la instalación puede elegir varios niveles de soporte para el manejo de comprobaciones de máquina. El más sofisticado, Machine Check Handler (MCH), registra los datos de fallos en SYS1.LOGREC e intenta la recuperación. La instalación puede imprimir esos datos utilizando la ayuda de servicio del Programa de edición e impresión de registros ambientales (EREP) o la versión independiente SEREP. El MCH puede manejar fallos de memoria en secciones de control de núcleo actualizables leyendo una copia nueva de SYS1.ASRLIB y puede manejar errores de memoria en áreas transitorias de SVC leyendo una copia nueva del módulo SVC de SYS1.SVCLIB.

Sistema operativo z

En z/OS, la instalación puede utilizar un ERDS o puede definir un flujo de registro del registrador del sistema z/OS [2] para almacenar los datos de error. Al igual que con OS/360, la instalación utiliza EREP para imprimir esos datos; SEREP ya no está disponible. El MCH ya no es opcional y maneja muchos más modos de falla que el MCH de OS/360.

Microsoft Windows

En las plataformas Microsoft Windows , en caso de un MCE irrecuperable, el sistema genera un BugCheck, también llamado error STOP o pantalla azul de la muerte .

Las versiones más recientes de Windows utilizan la arquitectura de errores de hardware de Windows (WHEA) y generan el código de detención 0x124, WHEA_UNCORRECTABLE_ERROR. Los cuatro parámetros (entre paréntesis) varían, pero el primero siempre es 0x0 para un MCE. [3] Ejemplo:

 DETENER: 0x00000124 (0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000)

Las versiones anteriores de Windows utilizan la arquitectura Machine Check , con el código STOP 0x9C, MACHINE_CHECK_EXCEPTION. [4] Ejemplo:

 DETENER: 0x0000009C (0x00000030, 0x00000002, 0x00000001, 0x80003CBA)

Linux

En Linux , el núcleo escribe mensajes sobre MCE en el registro de mensajes del núcleo y en la consola del sistema . Cuando los MCE no son fatales, normalmente también se copian en el registro del sistema o en el diario systemd . En algunos sistemas, los errores ECC y otros errores corregibles pueden informarse a través de las funciones de MCE. [5]

Ejemplo:

 CPU 0: Excepción de comprobación de máquina: 0000000000000004 Banco 2: f200200000000863 Pánico en el kernel: contexto de CPU corrupto

Tipos de problemas

Algunos de los principales problemas de hardware que provocan MCE incluyen:

Posibles causas

Los errores de la máquina son un problema de hardware, no de software. Suelen ser el resultado de overclocking o sobrecalentamiento. En algunos casos, la CPU se apaga sola una vez que supera un límite térmico para evitar daños permanentes. Pero también pueden deberse a errores de bus introducidos por otros componentes defectuosos, como la memoria o los dispositivos de E/S. Las posibles causas incluyen:

Los problemas de refrigeración suelen ser evidentes tras una inspección. Una placa base o un procesador defectuosos se pueden identificar cambiándolos por piezas que funcionen. La memoria se puede comprobar iniciando el sistema con una herramienta de diagnóstico, como memtest86 . Los dispositivos de E/S y controladores defectuosos no esenciales se pueden identificar desconectándolos si es posible o desactivándolos para ver si el problema desaparece. Si las fallas suelen producirse poco después de iniciar el sistema operativo o no se producen en absoluto o durante días, puede ser indicativo de un problema de suministro de energía. En el caso de un problema de suministro de energía, la falla suele producirse cuando la demanda de energía alcanza su punto máximo cuando el sistema operativo inicia cualquier dispositivo externo para su uso.

Descifrando MCE

Para los procesadores IA-32 e Intel 64, consulte el Manual del desarrollador de software de arquitecturas Intel 64 e IA-32 [6] Capítulo 15 (Arquitectura Machine-Check), o el artículo de Microsoft Knowledge Base sobre excepciones de Windows. [7]

Programas para decodificar MCE de Intel y AMD

Véase también

Referencias

  1. ^ "Capítulo 1. Introducción a EREP" (PDF) . Programa de edición e impresión de registros ambientales (EREP) 3.5 - Guía del usuario (PDF) . IBM . 30 de septiembre de 2021. pág. 1. GC35-0151-50 . Consultado el 20 de febrero de 2023 .
  2. ^ Guía del programador de sistemas para: z/OS System Logger (PDF) (segunda edición). IBM . Julio de 2007. SG24-6898-01 . Consultado el 20 de febrero de 2023 . {{cite book}}: |work=ignorado ( ayuda )
  3. ^ "Comprobación de error 0x124: WHEA_UNCORRECTABLE_ERROR". Microsoft. 2022-11-03 . Consultado el 2022-12-11 .
  4. ^ "Comprobación de error 0x9C: MACHINE_CHECK_EXCEPTION". Microsoft. 2021-12-14 . Consultado el 2022-12-11 .
  5. ^ "mcelog no funciona con procesadores AMD de la familia 16 y superiores en SLES11 SP3". SuSE. 2022-09-27 . Consultado el 2022-12-11 .
  6. ^ "Arquitectura de comprobación de máquina". Manual del desarrollador de software de arquitecturas Intel® 64 e IA-32, volumen 3B: Guía de programación del sistema, parte 2. Intel Corporation . Noviembre de 2018.
  7. ^ "Mensaje de error de detención en Windows XP que puede recibir: "0x0000009C (0x00000004, 0x00000000, 0xb2000000, 0x00020151)"". MSDN . 2015-12-07 . Consultado el 2017-07-13 .
  8. ^ Mauro Carvalho Chehab (mchehab) (2023-02-20). "rasdaemon es una herramienta de registro RAS (Reliability, Availability and Serviceability)". github.com . Consultado el 2023-02-20 .
  9. ^ ab "Excepción de comprobación de máquina". wiki.archlinux.org . 2021-05-08 . Consultado el 2023-02-21 .
  10. ^ ab "ECC RAM". wiki.gentoo.org . 2022-12-30 . Consultado el 2023-02-21 .
  11. ^ ab "x86/mce: Eliminar y descontinuar el controlador /dev/mcelog". git.kernel.org . 2017-03-28 . Consultado el 2023-02-21 .
  12. ^ ab "x86/mce: Factorizar y desaprobar el controlador /dev/mcelog". github.com/torvalds/linux/ . 2017-03-28 . Consultado el 2023-02-21 .
  13. ^ "mcelog: Manejo avanzado de errores de hardware para Linux x86". 20 de abril de 2015. Consultado el 13 de julio de 2017 .
  14. ^ "parsemce: analizador de controlador de excepción de comprobación de máquina Linux". 22 de julio de 2003. Consultado el 13 de julio de 2017 .
  15. ^ mcedaemon en GitHub

Enlaces externos