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/目录