linux根目录突然告警磁盘占用过多,du查看没有大文件,lsof查看没有dele文件
df -h 查看
du -h -d 1 检查大文件
lsof -n |grep dele 检查dele文件
du -i 正常
df -h 查看
du -h -d 1 检查大文件
lsof -n |grep dele 检查dele文件
du -i 正常
解决了.....原因是:/mnt/data是我的一个挂载盘,由于java后端工程导致java进程自动在/mnt下创建了个tmp目录。也就是/mnt/tmp目录。此tmp属于根目录/的磁盘,而我在检查的时候,对所有/目录下的与挂载盘匹配的目录都过滤了,命令如下:
aa=($(df -h |awk '{print $NF}' |grep -vE 'on|/$' )); for i in `ls /`;do echo ${aa[*]} |egrep -o "$i" >/dev/null || du -sh /$i;done
我默认/mnt下所有都是挂载盘的目录,谁知后端还有这一坑。。。。。。。
我是怎么发现的?因为我把所有挂载盘卸载了-.-