我有一台 Centos 6 服务器,运行内核 2.6.32-279.19.1.el6.x86_64。
我遇到了一个问题,系统正在达到最大数量已分配inode。此时,inode-state 返回以下内容:
# cat /proc/sys/fs/inode-state
279522 48040 0 0 0 0 0
我有 48040 个可用的 inode,但是这个服务器每天都会达到限制几次(这是一个繁忙的数据库服务器)。
请注意,我说的不是已使用的 inode,而是文件系统中定义的 inode。这很好,因为当我运行 df -i 时,使用率只有 14%。
我如何增加分配的 inode 限制?我发现 inode-max 在内核 2.2 中被删除了,并且找不到与此相关的任何其他参数。
- - 编辑 - -
使用的文件系统是 ext4,以下是 df -i 的输出:
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 12804096 1783423 11020673 14% /
tmpfs 33062480 11 33062469 1% /dev/shm
答案1
当你创建 ext2/ext3/ext4/ 文件系统时,你可以使用 -N 来精确指定 inode 的数量。一旦文件系统创建,你就不能改变它的值。但如果你使用 LVM,你仍然可以通过使用 resize2fs 扩展文件系统来添加 inode 数量。