又更新啦!
这次工作用的电脑出现了点问题,连续两天出现磁盘占用100%的情况,工作中的上下文也被这突如其来的事情给打乱
排查原因
其实在前一天,使用top查看程序的时候,就已经发现了一个名为cupsd的进程占用CPU达到了90%多,但是但是看走眼了,以为写的是cups,觉得可能是指的空闲cpu,加之电脑的风扇并没有很大幅度的运作,让我觉得可能没什么大问题。
直到昨天晚上,电脑突然弹出提示
根目录只剩下1.1GB的硬盘空间
当时我就,whaaaaaaaaaaaat?
脑袋里一千万种想法呼啸而过,好吧,其实没这么多。但是我当时就猜测,卖我硬盘的那个老铁,一定给我了一块有问题硬盘。
打开终端
1 | > df -h |
可以看到磁盘的确被占满了,甚至连ls命令都无法正常被使用。
就在这短短的十几秒内,电脑又一次跳出提示,这一次直接告知的是,磁盘已经没有剩余空间,并提示我分析磁盘。
/var/log/cupsd
打开dash搜索,磁盘使用情况分析器,经过一段时间的查找,锁定了一个路径为 /var/log/cups的目录。
1 | cd /var/log |
可以看到,400+GB的垃圾被存在这个目录。
在使用top命令,看到cupsd占用了100%的cpu服务。
CUPSD是啥
这个奇怪的CUPSD是啥,为什么无缘无故的出现这种情况?
维基百科:
CUPS(以前为 Common Unix Printing System,UNIX 通用打印系统的缩写,但现无官方全名)是一个类Unix操作系统的组合式印刷系统,允许一台电脑作为打印服务器。CUPS接受一个客户端的电脑进程,并送到相应的打印机。
CUPS是自由软件,使用GNU通用公共许可证和GNU宽通用公共许可证的第2版。
原来是打印机服务,但是我并没有连接任何打印机,也不需要这个东西,所以这个东西的莫名出现,是很吊诡的。
删除垃圾文件
1 | sudo rm -rf /var/log/cups |
Linux不会马上就删掉这400多G的东西,过一会就会正常了。
但是这是远远不够的,第一次出现这个情况时,我天真的以为只是Ubuntu上出现的一次偶然状况,以后可能不会有这种事情发生。
然而……
现实永远朝着墨菲定理的基线上靠拢,今天这一状况又一次重演了,从早上开始的CUPSD服务,到下班前,正好将我的磁盘占满,而且还是发生在,工作即将完成的成就感之前。就问你虐不虐?!气不气?!
虐虐虐,虐死了
气气气,气死了
禁用CUPSD服务
停止cups服务1
sudo service cups stop
找到cups的安装位置
1 | >type cupsd |
改变它可执行的状态
1 | sudo chmod 000 /usr/sbin/cupsd |
完成
现在,不会再有烦人的cups服务占用你的CPU,也不会生成大量的垃圾LOG消耗磁盘资源了。