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/getty
procesu.
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.
Odpowiedzi:
Wreszcie napotkałem ten problem na
Ubuntu 12.10 Server
VPS.Ale ponieważ nie potrzebuję żadnego
tty
(ponieważ się łączęssh
) naprawiłem to na ciężko :I działa całkiem dobrze! nie więcej
getty
proces zatrzymany.źródło
Logujesz się do
syslog
?Czy
syslog
zamierzasztty1
?Jeśli tak, istnieje duża szansa, że masz wartość ponad 38400 bps
syslog
igetty
blokuje się, czekając na zrzut danychtty
.Sprawdziłbym twoją
rsyslog
konfigurację - domyślnie Ubuntu rejestrujesyslog
dane wyjściowe do/dev/xconsole via /etc/rsyslogd.d/50-default.conf
.źródło
Na jednym z moich rdzeni uzyskiwałem 100% wykorzystanie procesora na
agetty
proces 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ąć.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.
źródło