缘由
Ubuntu的图形化界面太卡了。然后看到kswapd0进程占用大量的CPU,就把这个进程给kill了。结果还是卡,就直接reboot了,然后就进入emergency mode了。
解决方案
1、按Enter键进入终端;
2、输入journalctl -xb命令查看日志;
3、在日志中找到fask failed,找出错误行,然后可以在附近找到失败的设备名称:
4、umount /dev/disk/…/…
5、fask -y /dev/disk/…/…
6、重启:reboot,就正常了。
后记
下次在kill进程前,还是得先好好了解一下这个进程是干啥的,不如就会误入各种坑。在这里也记录一下kswapd0进程的作用。
kswapd0进程是虚拟内存管理中,负责换页的。操作系统每过一段时间就会唤醒kswapd,看看内存是否紧张,如果不紧张,则睡眠。在kswapd中,有2个阈值,pages_hige和pages_low,当空闲页的数量低于pages_low的时候,kswapd进程就会扫描内存并且每次释放出32个free pages,直到free page的数量达到pages_high。通过设置最大页内存则可以阻止kswapd0进程过度地消耗CPU。