inode占满导致No space left on device inode快速解决方法

暂未发现其他比我这个更快的方法。

因为其他方法会展示那个非常卡的目录,导致效率极低。而我这个方法不会去展示那个目录。

查找占用的目录

find / -type d -size +1M -maxdepth 3 -exec ls -lhd {} \;

解析:
-type d:只查找目录
-size +1M:对于目录来讲,ls -lh显示的是该目录下inode数据表的大小。(目录本质上就是一个存储本目录中所有文件和文件夹的inode表单)
据朋友反馈,腾讯面试Linux会问到这个问题,ls -lh目录大小是指的什么?
-maxdepth 3:查找目录深度,如果2层找不到,就找第三层,第四层,直到找到为止。
-exec ls -lhd {}:找到后用ls -lhd显示出来,不要忘记加-d,不然光光显示所有文件都会被卡死掉。

删除文件

方式1:rm -rf 目录
方式2:find 目录 | xargs rm -rf

警告、警告、警告

千万别试着去ls或者TAB键补全,以及其他操作该目录的命令。

因为文件太多展示会直接卡死你的终端,此时还是断开重连吧。

上一篇:docker “no space left on device”问题定位解决


下一篇:生产环境下案例 No space left on device (inode使用满的情况)