df -Th 查看磁盘使用率确实达到86

/dev/md0 ext4 3.6T 1.9G 3.4T 1% /data /dev/md1 ext4 3.6T 3.0T 493G 86% /data1 /dev/md2 ext4 3.6T 3.0T 492G 86% /data2 /dev/md3 ext4 3.6T 3.0T 494G 86% /data3 /dev/md4 ext4 3.6T 3.0T 490G 86% /data4

删除了十几天的表后,磁盘使用率没有变化!

[gpadmin@sdw2 data1]$ du -sh /data1/* 1.5T /data1/daily 50G /data1/gpdata

使用du -sh发现,目录下的文件,实际使用率只有1/3

问题分析:这个问题和Hadoop141服务器问题一样,有很多大文件,在被删除之后还被系统的某个进程占用,空间没有释放,找进程Kill之后即可。

lsof这个命令重点关注第一个字段COMMAND:进程的名称和第二个字段PID:进程标识符

第一步:找到被进程占用的删除的大文件,导出到文本。 lsof |grep delete > deleted.txt

第二步:过滤出pid,排序,去重。 cat detele.txt |awk '{print $2}'|sort |uniq

第三步:使用for循环kill掉进程。 for i in cat detele.txt |awk '{print $2}'|sort |uniq; do kill $i; done

第四步:df查看磁盘是否被释放。反正我的GP磁盘目录是被释放了。