Рейтинг:0

Как диагностировать странные прерывистые нарушения поведения ядра

флаг mg

См. Журналы событий направляясь дальше вниз.

Я на Ubuntu Server 21.04 с ядром 5.11.0-1015-raspi на aarch64.

Каковы наиболее эффективные меры для подготовки к диагностике в следующий раз, когда это произойдет?

Иногда после интенсивного использования я начинаю получать странные проблемы, такие как эти:

  • некоторые процессы, которые должны ничего не делать, отображают 100% использование одного ядра на вершина (это произошло недавно, когда скрипты bash зацикливались на inotifywait в файлах событий dev)
  • эти и некоторые другие процессы не заканчиваются убить -9 (Я бы предположил, что inotifywait просто немедленно завершает работу, за исключением этого)
  • система может поддерживать работу служб, но ttys может останавливать обработку ввода или вывода, включая последовательный tty
  • swapoff /путь/к/своп может зависнуть на неопределенный срок, даже если пространство подкачки больше не используется
  • выключение системы может зависнуть на неопределенное время, или система может частично отключиться, а затем зависнуть
  • подсветка USB-клавиатуры может перестать реагировать
  • запросы входа в систему могут ждать очень долго после входа пользователя, а затем зависать после отображения только части запроса пароля
  • нажатия клавиш могут быть пропущены
  • иногда повторяющиеся сообщения ядра на tty, указывающие на одну и ту же зависшую задачу
  • Когда на неопределенный срок не отвечает, я не вижу никакой паники ядра при открытии dmesg --следовать, журналctl --follow, или телетайп
  • Индикатор Caps Lock на этой машине вообще не работает. Индикатор Caps Lock также не работает на моем olimex teres aarch64.

Я недавно обновил систему и надеюсь, что эти проблемы могут уменьшиться, но я хотел бы знать, что еще я могу сделать, чтобы помочь в их диагностике или устранении. Я приложил усилия, чтобы подключить последовательный кабель, и был очень удивлен, что сам последовательный терминал может бесконечно зависать в середине вывода.

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

В идеале я хотел бы в конечном итоге сузить проблему до ошибки в ядре, проблемы с моим оборудованием или скомпрометированной системой.

Журналы событий:

2021-08-09

После systemctl изолировать графику и systemctl изолировать многопользовательскую systemd-journal использует 99% процессорного времени, заполняя журнал, который org.gnome.Shell@x11 ​​ожидает остановки. статус systemctl говорит нет такой услуги. я пытался журналctl | пастобинит. Боюсь, интерфейс перестал отвечать до того, как я получил URL.

На этот раз это не похоже на проблему с виртуальной памятью, но вот результаты памяти, которые я получил до того, как она зависла:

бесплатно -ч: https://paste.ubuntu.com/p/3c5tSTgGc4 (это было сделано во время распаковки; она закончила распаковку)

sysctl vm.swappiness: https://paste.ubuntu.com/p/cpvJw4Nd8f

В 10:29 UTC мой сеанс tmux завис. Я переключился на tty3 и попытался войти в систему. Терминал завис, отображая пароль. В 10:32 по всемирному координированному времени (UTC) вентилятор раскрутился примерно на 1 минуту.

У меня есть автономная система, подключенная к последовательному терминалу с открытым dmesg. Последние строки относятся к rfkill, скопированы на мой мобильный телефон ниже:

[225366.651144] md: проверка данных массива RAID md4
[225724.680213] rfkill: включен обработчик ввода
[225745.716506] rfkill: обработчик ввода отключен
[225751.439369] rfkill: включен обработчик ввода

В 10:33 tty3 отобразил «Время входа истекло через 60 секунд». никогда не отображая подсказку пароля. Он зависает, не отображая другого приглашения для входа в систему. Я отправил ^C на последовательный tty около 10:35, и он был возвращен мне, но не было выведено приглашение терминала, указывающее, что dmesg был прерван. 10:36 или 10:37 последовательный tty выводит/отображает возврат каретки. Нет нового ввода. Вентилятор снова раскручивается. 10:39 серийный tty показывает подсказку, которая обрабатывает ожидающий ключ возврата, и снова зависает. 10:42 серийная подсказка! 11:00, но я все еще пытаюсь выполнить любую команду в приглашении. Он невероятно медленный, но не теряет нажатия клавиш из своего буфера (что иногда случается со мной). 11:01 система отвечает на серийный номер и tty3. Это убило pastebinit из-за oom.

lshw -C память: https://paste.ubuntu.com/p/x5GMkHRktS

heynnema avatar
флаг ru
Отредактируйте свой вопрос и покажите мне `free -h` и `sysctl vm.swappiness` и `swapon -s` и `sudo lshw -C memory`. Начинайте комментировать меня с @heynnema или я пропущу их.
fuzzyTew avatar
флаг mg
@heynnema Я получил только 2 из запрошенных вами команд. Я пытаюсь получить больше данных, но последовательный tty занимает больше минуты на символ, и я делаю много опечаток. Полезен ли вообще сервис org.gnome.Shell@x11?
heynnema avatar
флаг ru
Было бы полезно выполнить `tail /var/log/syslog`, чтобы увидеть несколько последних записей и посмотреть, не повторяется ли что-то. У вас есть доступ к Ubuntu Live Desktop DVD/USB? Можете ли вы создать его в другой системе? Загрузите его и посмотрите, как система отреагирует. Подозреваю, что у вас аппаратная проблема. Может быть, даже с вашим RAID.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.