系统:阿里云centos7
磁盘:系统盘20G 数据盘1T
情况:
jenkins服务无法自动部署,查看原因发现系统盘满了。100%,然后就找是不是大文件,发现使用nohup命令启动war的日志文件.out 文件都十个G了,然后就rm掉,可是发现磁盘还是满的。
#查看磁盘占用
df -h
磁盘满了
解决:
后来发现,rm删除后,linux不会立即释放这个文件的磁盘空间,会将删除文件从文件系统目录结构上解除链接(unlink),如果文件正在被应用使用,空间就不会被释放。要杀死应用进程之后才能删除
#查看被删的文件
lsof -n /${分区路径}|grep deleted
#关联的进程给杀掉
kill ${pid}
处理过程
-
先df -lh查看一下磁盘使用状况
-
找到被删除文件分区
-
查看被删除了的所有文件:lsof -n /${分区路径}|grep deleted
结果如下
删除结果 -
杀死进程: kill 16508(我的jenkins进程)
-
再运行lsof -n /opt |grep delete,就没上面的结果了。
-
再运行df -lh看是不是空间已经释放了
系统盘磁盘已经释放了
网友评论