首页 新闻 会员 周边

linux: 如何解决 Inode Usage 100% 问题

0
悬赏园豆:30 [已解决问题] 解决于 2023-08-12 08:40

系统是 ubuntu 22.04,磁盘空间只使用了 52%,但 IUse(Inode Usage) 已经 100%,请问如何解决这个问题?

Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/vda3        6.9M  6.9M     0  100% /
问题补充:

这台服务器上安装的是 gitlab,会进行频繁的 git commit

存放 gitlab 仓库的文件夹 /var/opt/gitlab/git-data/repositories/@hashed 中有 6996322 个文件

dudu的主页 dudu | 高人七级 | 园豆:30994
提问于:2023-08-11 16:11
< >
分享
最佳答案
0

最终采用的解决方法:增加一块数据盘,使用 XFS 文件系统格式化

mkfs.xfs /dev/vdb1
dudu | 高人七级 |园豆:30994 | 2023-08-12 08:39
其他回答(1)
0

inode 资源耗尽的原因可能有以下几种:
您的系统中存在大量的小文件,导致 inode 表被占满。这些小文件可能是由于某些程序或定时任务产生的临时文件、日志文件、邮件文件等。
您的系统中存在一些 0 字节的文件,这些文件也会占用 inode,但不占用磁盘空间。
您的系统中存在一些非常大的文件,导致 inode 表中的空闲项不足以分配给新的文件。
针对这些可能的原因,您可以尝试以下几种解决方法:
查看并删除无用的临时文件、日志文件、邮件文件等。您可以使用 find 命令来查找这些文件,并使用 rm 命令来删除它们。例如,您可以使用以下命令来查找并删除 /tmp 目录下的所有文件1:
find /tmp -type f -exec rm {} ;
查找并删除 0 字节的文件。您可以使用 find 命令来查找这些文件,并使用 rm 命令来删除它们。例如,您可以使用以下命令来查找并删除 /home 目录下的所有 0 字节的文件1:
find /home -type f -size 0 -exec rm {} ;
查找并删除或移动非常大的文件。您可以使用 find 命令来查找这些文件,并使用 rm 命令来删除它们,或者使用 mv 命令来移动它们到其他分区。例如,您可以使用以下命令来查找 /var 目录下大于 1 GB 的文件1:
find /var -type f -size +1G

如果以上方法都不能解决您的问题,您可能需要重新格式化您的分区,并在格式化时指定更大的 inode 数量。您可以使用 mkfs 命令来格式化分区,并使用 -i 选项来指定每个 inode 所占用的字节数。例如,您可以使用以下命令来格式化 /dev/sda1 分区,并指定每个 inode 占用 4096 字节2:
mkfs -t ext4 -i 4096 /dev/sda1

注意:在格式化分区之前,请务必备份您的重要数据,因为格式化操作会清除分区上的所有数据。

收获园豆:30
毛毛超人 | 园豆:232 (菜鸟二级) | 2023-08-11 16:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册