centos 解决磁盘已满的问题

我的服务器是租赁的阿里云的云服务器,系统是centos7。好几次从shell里面登入系统的时候,发现使用tab自动补全时,会出现磁盘已满的情况。特别记录下解决方法。

首先需要查看是哪个磁盘满了,命令:df -l

我这边只有一个磁盘,自然显示只有一个挂载。进入挂载路径,查看文件占用状态:

1
du -h --max-depth=1

这个命令可以查看当前路径下面的文件夹分别占用磁盘资源的状态。然后递归往下查,查到大文件没用的就删除。

删除后发现还是原来的样子,删除的磁盘资源并没有被释放,这时候需要重启一下系统。

重启后发现系统该释放的都释放了,资源都空闲了。解决问题。

2019年06月05日16:33:52更新:

又出现这个鬼问题。又是jenkins的log日志满了。。。。。

直接删除jenkins下面的日志:

1
2
cd /var/log/jenkins
rm -rf jenkins.log

删除后发现空间并没有被释放。未释放磁盘空间的原因:

在linux或Unix系统中,通过rm或者文件管理器删除文件时,将会从文件系统的目录结构上解除该文件的链接(link),然后如果文件是被打开的(有一个进程正在使用),那么进程仍然可以读取到该文件,磁盘空间也一直被占用着。

所以,如何解决呢?以前我的做法是直接重启服务器,但这个代价太大。

既然这个文件是jenkins的log,那么只会有jenkins的进程在读取、使用它,那我直接重启jenkins不就好了?

直接重启:service jenkins restart,重启成功后,磁盘空间已被释放。over~

码字辛苦,打赏个咖啡☕️可好?💘