liangyf

Linux磁盘空间满清理

1.查看空间情况

df -lh

 

如显示空间已满

通过下面的命令,我们可以查看当前目录下文件夹的大小
du -h --max-depth=1,其中--max-depth是指文件夹的层级,例如1就是指当前目录下的文件夹,如果我们想对输出结果排序,可以使用下面的命令:

du -h --max-depth=1 | sort -nr,

如果我们想对上面的结果只输出前n个结果,可以使用下面的命令:

du -h --max-depth=1 | sort -nr | head -n 

 

2.如df -lh显示空间还有,但是显示空间占满。则df -i,查看inode情况

df -i

 

如inode满,则删除无用的临时文件,释放inode。

通过以下脚本进行检查,查看到底哪个目录下面的文件最多:

for i in /*; do echo $i; find $i | wc -l; done(如果确定是某个目录下面,则/转换为该目录绝对路径,如/var/spool,则使用for i in /var/spool/*; do echo $i; find $i | wc -l; done)

或者

ls -lt /tmp | wc -l

同时,0字节的文件也会占用inode,应该也释放。

find /home -type f -size 0

 

3.如inode也显示空间没有满,则查看df -h与df -i是不是差异很大。

如果差异很大,那么则可能是rm删除文件时,文件被占用,那么进程在读取该文件,磁盘被一致占用,没有被释放

 运行命令:

lsof |grep delete

kill 掉进程

分类:

技术点:

相关文章: