inode耗尽会导致“No space left on device”错误,即使磁盘空间充足;用df -i查看各分区inode使用率,重点关注/var/log、/tmp等小文件密集路径,并通过find命令定位高inode占用子目录。

Linux怎么查看具体的磁盘分区剩余节点信息

磁盘空间还有几十 GB,却报 No space left on device?大概率是 inode 耗尽了,不是空间用完了。

df -i 查看 inode 使用率

每个文件(哪怕空文件)都要占用一个 inode,当小文件极多时,inode 会先于磁盘空间耗尽。运行 df -i 就能查看所有挂载点的 inode 总数、已用、剩余和使用百分比。

定位高 inode 占用目录

知道哪个分区 inode 满了,还得找到具体是哪个子目录在“吃”inode。直接遍历全盘太慢,应聚焦可疑路径:

注意 ext4 默认保留 5% 空间,但不保留 inode

ext4文件系统会为root预留5%的数据块(这在df -hA vail中已扣除),不过,inode可不预留哦。这意味着,一旦df -i显示Use% = 100%,不管是普通用户还是root,都没办法新建文件啦,而且也不能通过tune2fs来调整inode预留量(因为inode总数在格式化的时候就固定了)。

inode 耗尽没有“可用空间还剩多少”这种缓冲余地,df -iA vailable 为 0 就是真的 0,连 touch 都会失败——这点比磁盘空间更刚性,也更容易被忽略。

本文转载于:https://www.php.cn/faq/3029611.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。