100 % CPU 사용률을 유발하는 / sbin / getty 프로세스 Ruby on Rails 애플리케이션을 배포합니다. 그러나 짧은

Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual i686)호스트 머신에서 KVM-VM으로 실행 되는 인스턴스가 있는데 그 옆에 하나 이상의 VM을 실행합니다.

Capistrano deployment-gem을 사용하여 Ruby on Rails 애플리케이션을 배포합니다.

그러나 짧은 시간에 두 번 연속으로 배포하면 /sbin/getty프로세스로 인해 CPU 사용량이 100 %로 증가 합니다.

어떻게 이럴 수있어?

getty는 터미널에서 로그인 프로세스로 로그인 이름을 전달하는 다소 간단한 프로그램이라고 생각합니다.

또한 : 내 Capfile (Capistrano 구성 파일)에서 Rails 응용 프로그램이 배포 된 후 sudo /sbin/restart <APPNAME>시작 작업 인 호출을 포함하여 특정 명령을 실행하고 있습니다.

이것이 어떻게 든 관련 될 수 있습니까?

항상 getty 프로세스를 종료 할 수 있으며 다음 배포까지 문제가 사라지지만 문제를 이해하고 해결하려고합니다.

도움을 주시면 감사하겠습니다. 첨부는 내 문제의 스크린 샷입니다.

/ sbin / getty로 인해 100 % CPU로드



답변

마지막으로 Ubuntu 12.10 ServerVPS에서도이 문제가 발생했습니다 .

그러나 tty( 필요로 연결되어 있기 때문에) 필요하지 않으므로 어려운 방법으로ssh 수정했습니다 .

sudo rm /etc/init/tty*
sudo reboot

그리고 그것은 꽤 잘 작동합니다! 더 이상 getty프로세스가 멈추지 않았습니다 .


답변

에 로그인 중 syslog입니까?

당신은 syslog가고 tty1있습니까?

그렇다면 38400bps 이상의 가치가 syslog있고 getty에 데이터를 덤프하기를 기다리는 동안 차단 될 가능성이 큽니다 tty.

rsyslog구성을 확인하겠습니다. 기본적으로 Ubuntu는 일부 syslog출력을에 기록 합니다 /dev/xconsole via /etc/rsyslogd.d/50-default.conf.


답변

내 핵심 중 하나에서 agettyUbuntu 16.04 시스템의 프로세스에 100 % CPU 사용률을 얻었습니다 . 내 특별한 경우에는 서버에 액세스하기 위해 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가 실제로 필요하지 않은지 확인하십시오.