Как предотвратить так много экземпляров проверки apt-check?

У меня есть сервер Ubuntu 12.04, который просто потерпел крах из-за очень очевидной причины: 30+ из apt-check процессов, потребляющих всю память, убийца OOM, несущий ногами, убивающий жизненно важные сервисы. Я не уверен, откуда происходят процессы apt-check, но я думаю, что мои плагины Nagios / Icinga check_apt могут использовать его, а также строка состояния byobu может отображать свой вывод. Я думаю, что что-то заперто, и все процессы просто ждали, но сохраняли память.

Как я могу предотвратить, чтобы в системе было так много экземпляров apt-check? Это не имеет смысла для меня, и он должен просто уйти, как только он не сможет получить блокировку чтения в базе данных dpkg.

Кажется, что я не единственный, столкнувшийся с проблемой здесь , Все предложения для apt-check довольно негативны:

(чистый браузер, не вошел в систему, нет персонализированного поиска)

1
задан 1 March 2013 в 07:19

2 ответа

Вам нужно выяснить, какой процесс порождает апт-чек. вы можете использовать что-то вроде ps, чтобы получить дерево процессов.

ps -A --forest

Если apt-check не имеет родителей, возможно, это может быть проблема с apt-check, а не с одной конкретной программой. если это так, я бы попытался отладить apt-check.

2
ответ дан 25 May 2018 в 03:14
  • 1
    Благодарю. Дал мне несколько идей, чтобы посмотреть дальше. Однако это заставило меня поверить, что это проблема apt-check на самом деле - см. мой собственный ответ . – gertvdijk 10 January 2013 в 18:39
  • 2
    Если он потребляет память и процессорное время, это не зомби. – Gilles 11 January 2013 в 01:24
  • 3
    @ Gilles хорошая точка. – strings 11 January 2013 в 01:38

Написанная база на Ubuntu 12.04

У меня такая же проблема, и выяснилось, что это из-за byobu, если я просто запустил apt-get update, не используя byobu, не будет check-apt обработать. Кроме того, он относится к пакету update-notifier, когда я удалил эти пакеты (update-notifer-common, update-notifier), используя byobu и запустив apt-get update, он выполнил другую команду, но в той же памяти использовал: .

Некоторые другие вещи могут запускать apt-get update (но, вероятно, не запускать check-apt)

передать аргумент check_apt для обновления / обновления pkg. если сконфигурировано, /etc/cron.daily/apt может также обновить список пакетов (см. https://help.ubuntu.com/lts/serverguide/automatic-updates.html), но он запускается один раз в день и не должен быть проблемой.

На рабочем столе может быть задействовано больше вещей.

Завершить: byobu улавливает событие при запуске apt-get update и запускает эти процессы check-apt, повторно настраивает в строке состояния byobu, чтобы исправить это.

0
ответ дан 25 May 2018 в 03:14

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

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