как я могу определить, сколько inodes каталог использует?

Мы сталкиваемся с пределом inode на наш файловый сервер, и я делаю эксперимент для сокращения количества inodes. Как я могу узнать, сколько inodes каталог использует? Я считал, что ядро Linux не создает inode для гибких ссылок менее чем 60 байтов, но вместо этого хранит ту символьную ссылку в каталоге inode самом. Таким образом я пытаюсь сократить длину символьных ссылок на менее чем 60 байтов и затем видеть, уменьшает ли это количество inode.

Править: (не может поместить новые строки в комментарии...), @caliban, Что я предлагаю, создает 1 символьную ссылку на родительский каталог и затем имеет всю другую точку символьных ссылок через тот родительский dir, например, исходные ссылки:

a -> /LONG_PATH/a
b -> /LONG_PATH/b
c -> /LONG_PATH/c

с символьной ссылкой каталога

__parent_dir -> /LONG_PATH
a -> parent_dir/a
b -> parent_dir/b
c -> parent_dir/c
0
задан 18.09.2009, 21:31

1 ответ

inode для каждого файла и каталога, это - правило. И о части, где символьные ссылки меньше чем 60 байтов хранятся в каталоге inode самом... Я полагаю, что это неправильно также.

По существу, когда символьная ссылка меньше чем 60 байтов длиной, она на самом деле хранится в ее собственном inode (который является отдельным от каталога inode), и блок данных не создается. Таким образом это ускоряет чтение символьных ссылок меньше чем 60 байтов, так как блок данных не должен быть считан, приведя к более быстрым операциям.

1
ответ дан 24.11.2019, 12:45

Теги

Похожие вопросы