agetty --noclear tty1进程不结束导致树莓派ubuntu的cpu占用率高

我的树莓派4b安装了ubuntu server18.04图形桌面

在某次修改了raspi-config里的boot option为开机进入桌面且自动输入密码后

开机后啥也没干,cpu占用率达到了30%

可以用task manager查看cpu占用情况,也可以用指令htop查看。如下

一看是一个叫agetty --noclear tty1的进程占用了cpu某一个核的100%

一查发现,有时候在 "ps aux" 命令的输出中,可以看到以下进程:

/sbin/agetty --noclear tty1 linux

这个进程是怎么来的?

在系统起来之后,屏幕上会出现一个登录框,这个登录框就是这个 agetty 整出来的。在登录之后,这个进程就自动退出了。

同理,当按下 Ctrl + Alt + F1/2/3/4/5/6 的时候,画面里出现的登录界面也是agetty整出来的。

可是我都登陆进去了,为啥agetty还不退出呢。

那说明tty1没登录进去呗。图形界面是tty7,如果按Ctrl + Alt + F1进入tty1的登陆界面,你会发现它卡住了,没有出现输入账户密码的提示。

后来我想起来,我曾经修改过raspi-config里面的开机登录方式为自动登录,如下

sudo raspi-config

里面会让你选开机是打开桌面,还是打开console,并且需不需要自动登录。

事实证明,这个自动登录是没用的,可能系统也不知道你的登录密码,因此一直就登不进去,tty1就卡在登录界面导致cpu占用高。

因此在raspi-config里面把登录方式改回desktop或者console就行了,不要选自动登录!

-------------------------------------------------分界线------------------------------------------------------------

更新:

好像不是登录选项的问题。

1、临时解决方法:每次开机后htop找到占用cpu多的那一项的PID号,sudo kill xxx 

2、 修改/boot/firmware/nobtcmd.txt,删掉里面的console=tty1 ,从根本上关掉这个串口控制台

-------------------------------------------------分界线------------------------------------------------------------

再更新:

好像也不是nobtcmd.txt的问题。

我想起之前为了关闭开机蓝牙而设置systemctl开机自启项时,顺手打开了一个叫[email protected]的启动项。

表现为在/etc/systemd/system/getty.target.wants下面新建了一个叫[email protected]的启动项,它和该文件夹里的默认文件[email protected]一模一样。

可能两个在开机的时候冲突了。[email protected]的设置完全没必要而且没用。

查看开机启动项有哪些可以用

sudo systemctl list-unit-files

或者筛选一下,看看哪些是开机启动的。

sudo systemctl list-unit-files | grep enabled

然后disable可以禁用启动项,stop可以停止已经开启的服务。

sudo systemctl disable [email protected]

此时在在/etc/systemd/system/getty.target.wants下面的[email protected]文件也自动删除了。

重启,可能就好了

猜你喜欢

转载自blog.csdn.net/benchuspx/article/details/112402583
今日推荐