como posso determinar quantos inodes um diretório usa?

0

Estamos encontrando um limite de inode em nosso servidor de arquivos e estamos fazendo uma experiência para reduzir o número de inodes. Como posso descobrir quantos inodes um diretório usa? Eu li que o kernel do linux não cria um inode para soft-links abaixo de 60 bytes , mas armazena esse link simbólico no próprio diretório inode. Assim, estou tentando encurtar o comprimento dos links simbólicos para menos de 60 bytes e, em seguida, ver se isso reduz a contagem de inodes.

EDIT: (não pode colocar novas linhas nos comentários ...) @caliban O que estou sugerindo é criar um link simbólico para o diretório pai e, em seguida, ter todos os outros links simbólicos apontando até esse diretório pai por exemplo. links originais:

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

com o link simbólico do diretório

__parent_dir -> /LONG_PATH
a -> parent_dir/a
b -> parent_dir/b
c -> parent_dir/c
    
por Ross Rogers 18.09.2009 / 18:44

1 resposta

1

Um inode para cada arquivo e diretório, essa é a regra. E sobre a parte em que os links simbólicos com menos de 60 bytes são armazenados no próprio diretório inode ... Acredito que isso esteja errado também.

Essencialmente, quando um link simbólico tem menos de 60 bytes, ele é armazenado em seu próprio inode (separado do diretório inode), e um bloco de dados não é criado. Assim, acelera a leitura de links simbólicos com menos de 60 bytes, pois um bloco de dados não precisa ser lido, resultando em operações mais rápidas.

    
por 18.09.2009 / 18:57

Tags