Процесс / sbin / getty вызывает 100% загрузку процессора


11

У меня есть экземпляр Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual i686)запуска в качестве KVM-VM на хост-машине, на которой работает еще одна виртуальная машина.

Я развертываю приложение Ruby on Rails, используя Gem для развертывания Capistrano.

Однако если я разверну два раза подряд за короткое время, загрузка ЦП из-за этого /sbin/gettyпроцесса возрастет до 100% .

Как это может быть?

Я полагаю, что getty - довольно простая программа, которая передает имя пользователя из терминала в процесс входа в систему.

Кроме того: В моем Capfile (файл конфигурации Capistrano) я запускаю определенные команды после развертывания приложения Rails, включая вызов, sudo /sbin/restart <APPNAME>который является задачей upstart.

Может ли это быть как-то связано?

Я всегда могу убить процесс getty, и проблема исчезнет до следующего развертывания, но я бы лучше понял и решил проблему.

Любая помощь приветствуется. Прилагается скриншот моей проблемы.

/ sbin / getty вызывает 100% загрузку процессора


2
Вы можете отследить, что делает getty, с помощью 'strace -f -p 18081', где 18081 - это pid неправильно функционирующего getty. Если strace ничего не показывает, это скорее всего ошибка в getty.
SpamapS

Удалось ли решить эту проблему навсегда?
Кристоф Гешвинд

Ответы:


2

Наконец я также столкнулся с этой проблемой на Ubuntu 12.10 ServerVPS.

Но так как мне это не нужно tty(потому что я подключаюсь ssh), я исправил это трудным способом :

sudo rm /etc/init/tty*
sudo reboot

И это работает довольно хорошо! больше не gettyпроцесс застрял.


0

Вы входите в syslog?

Вы syslogсобираетесь tty1?

Если это так, есть большая вероятность, что у вас более 38400 бит / с syslogи gettyон блокируется, пока он ожидает сброса данных в него tty.

Я бы проверил вашу rsyslogконфигурацию - по умолчанию Ubuntu записывает некоторые данные syslogв /dev/xconsole via /etc/rsyslogd.d/50-default.conf.


Если это так, как это предотвратить?
известноасиля

0

На одном из моих ядер я получал 100% загрузку ЦП для agettyпроцесса на моей машине с Ubuntu 16.04. В моем конкретном случае я использовал только ssh-соединение для доступа к серверу, поэтому после некоторого исследования я решил удалить его.

sudo rm /etc/systemd/system/getty.target.wants/getty@tty1.service
sudo rm /lib/systemd/system/getty@.service

Требуется перезагрузка. Решение было найдено по адресу https://peteris.rocks/blog/can-you-kill-it/ . Перед тем, как воспользоваться такой опцией, будьте осторожны, чтобы проверить, действительно ли вам не нужен tty.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.