Proces / sbin / getty powodujący 100% wykorzystanie procesora


11

Mam instancję Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual i686)działającą jako KVM-VM na maszynie hosta, na której działa jeszcze jedna maszyna wirtualna.

Wdrażam aplikację Ruby on Rails przy użyciu klejnotu wdrażania Capistrano.

Jeśli jednak wdrożę dwa razy z rzędu w krótkim czasie, użycie procesora skoczy do 100% z powodu tego /sbin/gettyprocesu.

Jak to może być?

Uważam, że getty jest dość prostym programem, który przekazuje nazwę logowania z terminala do procesu logowania.

Ponadto: W moim pliku Capfile (plik konfiguracyjny Capistrano) uruchamiam pewne polecenia po wdrożeniu aplikacji Rails, w tym wywołanie, do sudo /sbin/restart <APPNAME>którego należy zadanie wstępne.

Czy można to jakoś powiązać?

Zawsze mogę zabić proces getty i problem zniknął do następnego wdrożenia, ale wolałbym zrozumieć i naprawić problem.

Każda pomoc jest mile widziana. W załączeniu znajduje się zrzut ekranu mojego problemu.

/ sbin / getty powoduje 100% obciążenia procesora


2
Możesz prześledzić, co robi getty za pomocą 'strace -f -p 18081', gdzie 18081 jest pid niewłaściwie zachowującego się getty. Jeśli strace niczego nie pokazuje, prawdopodobnie jest to błąd w getty.
SpamapS

Czy udało Ci się rozwiązać ten problem na stałe?
Christoph Geschwind,

Odpowiedzi:


2

Wreszcie napotkałem ten problem na Ubuntu 12.10 ServerVPS.

Ale ponieważ nie potrzebuję żadnego tty(ponieważ się łączę ssh) naprawiłem to na ciężko :

sudo rm /etc/init/tty*
sudo reboot

I działa całkiem dobrze! nie więcej gettyproces zatrzymany.


0

Logujesz się do syslog?

Czy syslogzamierzasz tty1?

Jeśli tak, istnieje duża szansa, że ​​masz wartość ponad 38400 bps syslogi gettyblokuje się, czekając na zrzut danych tty.

Sprawdziłbym twoją rsyslogkonfigurację - domyślnie Ubuntu rejestruje syslogdane wyjściowe do /dev/xconsole via /etc/rsyslogd.d/50-default.conf.


Jeśli tak jest, jak temu zapobiec?
knownasilya

0

Na jednym z moich rdzeni uzyskiwałem 100% wykorzystanie procesora na agettyproces na moim komputerze Ubuntu 16.04. W moim szczególnym przypadku użyłem połączenia ssh tylko do uzyskania dostępu do serwera, dlatego po pewnym czasie postanowiłem go usunąć.

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

Wymagane jest ponowne uruchomienie komputera. Rozwiązanie znaleziono na https://peteris.rocks/blog/can-you-kill-it/ . Przed skorzystaniem z takiej opcji, sprawdź, czy naprawdę nie potrzebujesz tty.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.