Kernel/hardware errors

Материал из ALT Linux Wiki

Перед тем, как заполнять баг-репорт, рекомендуется провести проверку аппаратных компонентов на наличие ошибок. Возникновение аппаратных проблем может привести к появлению "мистических глюков", которые никто не сможет исправить, так как они специфичны только для вашего устройства. Однако эти глюки будут отнимать время и вызывать ложные подозрения о наличии ошибок в ПО.

Проверка системы

Память

  • Memtest86+: как правило, доступен в меню Advanced options for ALT Sisyphus Sisyphus при загрузке через grub. — https://www.memtest.org/
  • efi-memtest86: (при загрузке через EFI) — https://www.memtest86.com/
    Для использования необходимо:
    1. установить пакет efi-memtest86 и скопировать /usr/lib64/efi/memtest86.efi в /boot/efi
    2. установить пакет edk2-efi-shell и скопировать /usr/lib64/efi/shell.efi в /boot/efi
    3. В BIOS запустить EFI Shell и там запустить memtest86.

Один прогон проверки памяти может занимать несколько часов.

Диски

  • smartmontools: Утилита smartctl показывает информацию по состоянию дисков из S.M.A.R.T. Так же она позволяет запустить два теста - т.н. короткий и долгой (сканирует всю поверхность дисков).

Сеть

  • iproute2:
    • Команда ip link: покажет физическое состояние (наличие сигнала) каждого интерфейса: NO-CARRIER или LOWER_UP.
    • Команда ip -s link: дополнительно покажет статистику в столбцах errors, dropped и missed.
  • ethtool: Покажет состояние соединения (Link detected - аналог предыдущей информации от ip link), ошибки в настройках Speed, Duplex, а с опцией -S покажет статистку включающую errors, drops.

Сообщения об ошибках

  • dmesg -l err список сообщений об ошибках в логе ядра — среди них могут быть сообщения от аппаратных ошибках.
  • journalctl -k -p err та же информация в системе с systemd. Кроме того, dmesg буфер может заполниться и потерять начало загрузки системы, а в журнале информация все ещё быть.

Мониторинг

Память

  • mcelog: (считается устаревшим и) не поддерживается в ядрах Альта (отсутствует /dev/mcelog устройство).
    "mcelog logs and accounts machine checks (in particular memory, IO, and CPU hardware errors) on modern x86 Linux systems."https://mcelog.org/
  • edac-util: рабочий вариант, но плохо поддерживается апстримом.
    "Userspace helper for kernel EDAC drivers (Error Detection and Correction)"https://github.com/grondo/edac-utils
  • rasdaemon: современное решение. Мониторит не только память, а любые доступные ему аппаратные ошибки.
    "Those tools provide a way to get Platform Reliability, Availability and Serviceability (RAS) reports made via the Kernel tracing events."https://github.com/mchehab/rasdaemon
 # apt-get install rasdaemon
 # systemctl enable --now rasdaemon

Диски

  • smartmontools: позволяет постоянно мониторить S.M.A.R.T. параметры через сервис smartd.