我有一个Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual i686)实例,它作为KVM运行在主机上,在它旁边再运行一个VM。
我部署了一个Rails应用程序,使用Capistrano。
但是,如果我在短时间内连续部署两次,由于/sbin/getty进程的原因,CPU使用率将跃升到100%。
这怎么可能呢?
我相信getty是一个相当简单的程序,它将登录名从终端传递到登录进程。
另外:在我的Capfile (Capistrano配置文件)中,我在Rails应用程序部署之后运行某些命令,包括对sudo /sbin/restart <APPNAME>的调用,这是一个新启动的任务。
这有什么关系吗?
我总是可以终止getty进程,问题会一直持续到下一次部署,但是我更愿意理解并解决这个问题。
任何帮助都是非常感谢的。附件是我问题的截图。

发布于 2012-12-06 17:33:32
最后,我在Ubuntu 12.10 Server VPS上也遇到了这个问题。
但是,由于我不需要任何tty (因为我使用ssh连接),所以我很难修复它:
sudo rm /etc/init/tty*
sudo reboot而且效果很好!不再有getty进程卡住。
发布于 2012-10-02 19:36:05
您正在登录到syslog吗?
你的syslog要去tty1吗?
如果是这样的话,您很有可能拥有超过38400 its的syslog,而getty在等待将数据转储到其tty中时被阻塞了。
我会检查您的rsyslog配置--默认情况下,Ubuntu会将一些syslog输出记录到/dev/xconsole via /etc/rsyslogd.d/50-default.conf。
发布于 2019-01-06 17:54:04
在我的一个核心上,我在我的Ubuntu16.04机器上为agetty进程获得了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。
https://askubuntu.com/questions/174710
复制相似问题