问题

服务器的磁盘被占满,需要排查是什么文件占用的

解决

使用如下命令列出各个文件(夹)所占大小:

$ sudo -i
# df -h
# cd /
# du -shx *
du -h --max-depth=1 /data
# 磁盘空间占用与排序
du -h --max-depth=1 /data/logs/apps/|sort -hr

然后查看各个目录的大小,并逐级前往使用du -shx *最终定位到异常文件进行处理. 如果是正在使用的文件,如运行日志文件,则不能直接删除而使用重定向数据进行释放.直接删除,空间是需要等到占用的程序关闭后才释放.

# > debug.log

当然,如果被删除了的文件,但是空间没有释放掉,则可以使用如下方法查看:

# lsof | grep deleted

然后重启对应的程序即可释放

查看大文件

# find / size +100M print