/ proc / slabinfo: Erro de entrada / saída

3

Estou usando o Ubuntu 12.04 e o XFS (kernel 3.2.0-38-generic). Como o cache de inode do XFS usa muita memória, quero limitar o número de objetos usados para armazenar em cache o inode do XFS.

De acordo com o manual, posso limitar o número escrevendo limite para / proc / slabinfo. Mas eu não posso escrever para / proc / slabinfo mesmo com privilégios de superusuário.

$ echo "xfs_inode 1024 0 0" | sudo tee /proc/slabinfo
xfs_inode 1024 0 0
tee: /proc/slabinfo: Input/output error

Qual é o problema? Existe alguma maneira de limitar o número de objetos no cache slab?

    
por beketa 10.06.2014 / 14:21

1 resposta

2

A página slabinfo(5) está infelizmente desatualizada. Se bem entendi, em um kernel configurado para usar o alocador SLUB (disponível desde o Linux 2.6.22 e, atualmente, o alocador de memória do kernel padrão), o arquivo /proc/slabinfo não é gravável. Veja as definições contrastantes de slabinfo_write() nos arquivos de origem do kernel mm/slub.c e mm/slab.c . Em mm/slub.c , slabinfo_write() simplesmente falha com o erro EIO .

Edit: Apenas confirmei meu entendimento compilando um kernel para usar o alocador SLAB em vez do alocador SLUB padrão. Nesse caso, o /proc/slabinfo é gravável da maneira apresentada na pergunta original. Com CONFIG_SLUB , o arquivo não é gravável e os ajustes são exibidos como 0.

    
por 24.01.2017 / 00:20

Tags