Kernel/hardware errors: различия между версиями
< Kernel
Vt (обсуждение | вклад) (→Диски) |
Vt (обсуждение | вклад) (→Сеть) |
||
Строка 16: | Строка 16: | ||
* '''iproute2''': | * '''iproute2''': | ||
** Команда '''ip link''': покажет физическое состояние (наличие сигнала) каждого интерфейса: <code>NO-CARRIER</code> или <code>LOWER_UP</code>. | ** Команда '''ip link''': покажет физическое состояние (наличие сигнала) каждого интерфейса: <code>NO-CARRIER</code> или <code>LOWER_UP</code>. | ||
** Команда '''ip -s link''': дополнительно покажет статистику в столбцах errors, | ** Команда '''ip -s link''': дополнительно покажет статистику в столбцах errors. | ||
* '''net-tools''': олдскульные утилиты аналоги iproute2: '''ifconfig''': статистика errors; ** '''netstat -i''': статистика RX-ERR, TX-ERR. | |||
* '''ethtool''': Покажет состояние соединения (<code>Link detected</code> - аналог предыдущей информации о наличии сигнала от <code>ip link</code>), ошибки в настройках <code>Speed</code>, <code>Duplex</code>, а с опцией <code>-S</code> покажет статистку включающую errors, drops. | * '''ethtool''': Покажет состояние соединения (<code>Link detected</code> - аналог предыдущей информации о наличии сигнала от <code>ip link</code>), ошибки в настройках <code>Speed</code>, <code>Duplex</code>, а с опцией <code>-S</code> покажет статистку включающую errors, drops. | ||
Версия от 01:56, 28 мая 2023
Перед тем, как заполнять баг-репорт, рекомендуется провести проверку аппаратных компонентов на наличие ошибок. Возникновение аппаратных проблем может привести к появлению "мистических глюков", которые никто не сможет исправить, так как они специфичны только для вашего устройства. Однако эти глюки будут отнимать время и вызывать ложные подозрения о наличии ошибок в ПО.
Проверка системы
Память
- Memtest86+: как правило, доступен в меню Advanced options for ALT Sisyphus Sisyphus при загрузке через grub. — https://www.memtest.org/
- efi-memtest86: (при загрузке через EFI) — https://www.memtest86.com/
Для использования необходимо:- установить пакет efi-memtest86 и скопировать /usr/lib64/efi/memtest86.efi в /boot/efi
- установить пакет edk2-efi-shell и скопировать /usr/lib64/efi/shell.efi в /boot/efi
- В BIOS запустить EFI Shell и там запустить memtest86.
Один прогон проверки памяти может занимать несколько часов.
Диски
- smartmontools: Утилита smartctl показывает информацию по состоянию дисков из S.M.A.R.T. Так же она позволяет запустить два внутренних теста дисков (self-tests) - т.н. короткий и долгой (сканирует всю поверхность дисков).
Сеть
- iproute2:
- Команда ip link: покажет физическое состояние (наличие сигнала) каждого интерфейса:
NO-CARRIER
илиLOWER_UP
. - Команда ip -s link: дополнительно покажет статистику в столбцах errors.
- Команда ip link: покажет физическое состояние (наличие сигнала) каждого интерфейса:
- net-tools: олдскульные утилиты аналоги iproute2: ifconfig: статистика errors; ** netstat -i: статистика RX-ERR, TX-ERR.
- 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.