Назад | Перейти на главную страницу

Как устранить многочисленные сообщения, связанные с mingetty, в системных журналах

Я запускаю веб-сайт и несколько сервисов моей небольшой компании на VPS (под управлением CentOS 6.8), на котором у меня есть полные права администратора.

Из-за попытки определить проблему утечки памяти в сценариях PHP, я некоторое время наблюдал за VPS и еще раз просмотрел журналы. Я вижу длинную строку сообщений журнала, например эти:

снимок экрана с сообщениями об ошибках

Я хотел бы решить любые проблемы конфигурации, из-за которых эти ошибки «загрязняют» системные журналы, потому что они делают журналы непригодными для использования. Каждые 5 секунд я получаю такую ​​партию:

    Feb 17 12:43:03 vpsxxxxx init: tty (/dev/tty2) main process (1381) terminated with status 1
    Feb 17 12:43:03 vpsxxxxx init: tty (/dev/tty2) main process ended, respawning
    Feb 17 12:43:03 vpsxxxxx init: tty (/dev/tty1) main process (1382) terminated with status 1
    Feb 17 12:43:03 vpsxxxxx init: tty (/dev/tty1) main process ended, respawning
    Feb 17 12:43:03 vpsxxxxx /sbin/mingetty[1419]: tty2: no controlling tty: Operation not permitted
    Feb 17 12:43:03 vpsxxxxx /sbin/mingetty[1420]: tty1: no controlling tty: Operation not permitted

К моменту ротации журналов (еженедельно) у меня в файле журнала уже более 60 МБ, что ставит nano на колени.

Понятия не имею, насколько необходим mingetty для нормальной работы на VPS (или для подключения через SSH). Я единственный администрирую сервер, но я редко использую более двух одновременных SSH-соединений.

Есть ли решение проблемы такого количества сообщений журнала, связанных с mingetty?

Поскольку ваша машина является виртуальной машиной, вы можете полностью отключить mingetty и виртуальные консоли, как указано на http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/getty-mingetty.html :

Если на машине нет видеокарты, удалите все записи mingetty из / etc / inittab.

Поскольку вы используете CentOS 6, я полагаю, что у вас есть выскочка и что нет inittab. Чтобы отключить tty, вы можете создать два файла /etc/init.d/tty1.override и /etc/init.d/tty2.override, содержащие только слово 'manual' (все команды должны передаваться от имени пользователя root):

echo manual > /etc/init/tty1.override
echo manual > /etc/init/tty2.override

Но я рекомендую вам сделать несколько тестов раньше: stop tty1 и stop tty2, и попробуйте открыть новое соединение ssh. Если это работает, отключите tty1 и tty2.

@Hexdump привел меня к решению, прочитав, что я должен был сделать о выскочке. Большое спасибо.

Решение для меня состояло из двух шагов:

  • nano /etc/init/start-ttys.override (содержание файла ниже)
  • shutdown -r now

Содержимое файла переопределения:

env ACTIVE_CONSOLES=/dev/tty[1-1]
script

end script

По сути, я заменяю проблемный скрипт, запускающий экземпляры mingetty, на скрипт без операции.

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

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