centos7如何释放磁盘空间?

centos7磁盘满了,但是找不到大的文件,原因是没有释放磁盘空间

小白教程,一看就会,一做就成。

centos7如何释放磁盘空间?_第1张图片

1.原因

当centos系统下启动多个服务且没有一定的清理机制时(比如日志),系统磁盘空间很容易就被占满,但是有时候删除了文件却发现系统磁盘空间未释放,可能原因是忽略了有应用一直在往其中写数据,直接删除某文件无法释放磁盘空间

2.解决

lsof -n |grep deleted是发现是否有删除文件的进程存在,如果有就kill掉进程(或者重启进程)

执行(后面加的 >>/data/a.log,是结果写入到/data下的a.log文件里,因为可能输出的太多,页面上没办法看全部)

lsof -n |grep deleted >>/data/a.log

centos7如何释放磁盘空间?_第2张图片

上图是我执行的结果,框住的是进程ID

kill -9 7785
#执行这个时,根目录还没下来,因为这个id对应的文件都太小了

centos7如何释放磁盘空间?_第3张图片

kill -9 13130
#执行这个时,根目录下来了

centos7如何释放磁盘空间?_第4张图片

上面我是手动查找ID,进行删除的

可以用命令自动删除

lsof -n |grep deleted awk '{if (NR > 1){print $2}}' |uniq | xargs kill -9

#解释:
awk '{if (NR > 1){print $2}}',获取第二列
uniq,去重复
xargs kill -9 ,就是将获取第二列,再通过uniq去重的值杀掉

3.完成

你可能感兴趣的:(centos,linux,centos,磁盘满了,磁盘释放)