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

Ubuntu 18.04 lsb, я пытаюсь выяснить лучший способ диагностировать то, что происходит, когда экземпляр Amazon Ec2 (свободный уровень) зависает.

Существует экспериментальное сервисное выполнение и может быть / утечка памяти.

Для качества жизни я использую утилиту, названную lnav, чтобы помочь мне просмотреть системные журналы. Также я установил утилиту, названную monitorix к visiualise, что происходит.

Могу я / как делают меня для идентификации определенного процесса, вызывающего проблему от системных журналов? Какой журнал мог бы помочь мне? (/var/log/syslog не помогает),

Эти диаграммы показывают высокую загрузку ЦП, связанную с системной областью подкачки, используемой, пока катастрофический отказ не происходит.

High CPU load

Swap consumption

Но это не говорит мне определенный процесс. Как я могу сделать это через терминал?

Там некоторый другой процесс контролирует, я мог для конфигурирования?

Любая справка ценится...

Править: Благодаря подсказке от @Rinzwind sar теперь установлен и крон выполняет его каждые 2 минуты..., но это не дает информацию об уровне процесса. Таким образом со справкой из этого другого ответа:

pidstat 5 > pidhist.log каналы к текстовому файлу и выполнению его на персистентной сессии помогут диагнозу, когда случай произойдет снова.

@heynnema предлагается iotop

Выполнение iotop -P -a который является top для файлового ввода-вывода как сумматор. Это указало, что экспериментальный процесс (моно сервис) был тем, использующим большую часть подкачки с ЗАГРУЗКОЙ enter image description here
enter image description here ****

Это более видимо в top enter image description here enter image description here

Мы видим, видят, что тот же шаблон потребления, и затем после перезапуска процесса возвращается к нормальным ~20% от monitorix.

enter image description here

Система устойчива в течение многих недель подряд между этими случайными событиями. Доказательство от iotop доказывает, что базовая проблема в рамках экспериментального процесса!

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

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

Спасибо за любую справку.

3
задан 20 March 2019 в 18:31

2 ответа

Мы не добавляем RAM для решения этой проблемы.

Идентификация процесса, вызывающего утечку памяти, не имеет никакого отношения к конфигурации системы.

iotop -P -a помогший определить подкачку потребления процесса во время reoccurance события.

Шаги для цифрового судебного расследования журнала были бы лучшим решением.

0
ответ дан 1 December 2019 в 17:26

Из комментариев...

Мы посмотрели на вывод free -h и sysctl vm.swappiness и cat /etc/fstab, и установленный iotop определить почему подкачка, если используется так.

Существует несколько причин, почему система перегружается.

  1. у Вас нет достаточного количества RAM

  2. у Вас нет достаточной подкачки

  3. vm.swappiness был изменен неправильно

Фиксация...

  1. добавьте больше RAM

  2. увеличьте / пространство своп-файла

  3. набор vm.swappiness к 60-90 (60 значение по умолчанию),

1
ответ дан 1 December 2019 в 17:26

Другие вопросы по тегам:

Похожие вопросы: