1、程序占用文件句柄数

lsof -n | grep deleted #查看被锁的文件句柄,kill掉,服务也会死去,空间释放

注意:程序在使用期间,切勿删文件和目录,否则就会导致锁文件句柄,就得Kill进程


2、磁盘I节点使用过多,使用df -i查看使用情况

具体清理文件的方法,请百度


3、在一个盘里已经有了几十G的数据,然后又挂了另一个分区(mount /dev/vdb1 /data)进这个盘,这样就会覆盖了du -sh这个命令就会没法查看到这个空间

排障命令:

find / -type f -size +10000000c -exec du -sh {} \;

du -h /  #查看根目录所有文件大小

du -sh /* #查看根目录所有文件夹大小

du -sh /  #查看根目录总大小

du -h  #查看所有文件目录大小

du -h / --max-depth=1 | sort -rn  #查看根目录一级目录大小

du -h / --max-depth=2 | sort -rn  #查看根目录二级目录大小

#把/data/目录挂载到其他文件夹,再查看tmp的test目录二级目录大小

mount /dev/vdb1 /tmp/test && du -h /tmp/test --max-depth=2 | sort -rn 

umount /tmp/test

#把/data/目录御载下来,查看到是因为数据盘/data/目录挂载覆盖了原来的/data/目录,所以查不到/data/目录占用的磁盘空间

umount /data

解决方法:

1、通知策划和运营人员,停止程序继续写入/data/目录

mv /data/ /data_1    #改上当名字

mkdir /data        #建data目录

mount /dev/vdb1 /data  #把vdb1挂到data目录

mv /data_1/* /data/   #把系统盘的数据移回/data/目录