系统出现 no space left on 报错 但是使用df -h 发现磁盘并没有满
企业中在什么情况下会发生
解答:
ext4文件系统在格式化的时候会创建inode 和 block
磁盘空间满是由inode和block两个标准来决定的
题意说用df -h 查看没有满 df -h 是查看block块的说明block块没有满所以应使用df -i 查看inode是否满了
1 block被占满
定位问题
查看实际文件占用空间的大小
# find / -type f | xargs du -s | awk -F "[\t]" ‘/^[0-9]*/ {a=a+$1}END{print a}‘
2、使用df查看
3、比较(1)和(2)的结果
1> (1)和(2)的结果相差很大
# lsof | grep deleted 查看是否有删除了的文件还在被程序调用
确认该数据不是误删除的文件
重启调用该文件的程序
2> (1)和(2)的结果相差不大
# find / -type f | xargs du | sort -n | tail 查看占用系统空间最多的文件
或者查看最大的目录
# find / -type d | xargs ls -hdsSr
确认该文件已经无用
使用 >/路径/路径 清空该文件
2 inode被占满
定位问题
查看小文件最多的目录
# find / -type f -size -1k | xargs -i dirname {} | sort | uniq -c | sort -n | tail
在确定该目录下的小文件没用之后
# find /路径/路径 -size -1k -type f | xargs rm -f 删除过多的小文件
感谢老男孩教育 感谢强哥
http://8078255.blog.51cto.com/8068255/1746570
本文出自 “bzjxs” 博客,请务必保留此出处http://bzjxs.blog.51cto.com/9534278/1762005
磁盘被占满 系统出现 no space left on 报错(block被占满/inode被占满)
原文地址:http://bzjxs.blog.51cto.com/9534278/1762005