A memória buffer do Linux sempre fica em zero

2

Um dos meus servidores hospedados é um guest Xen rodando Debian e linux kernel 2.6.32 e depois 2.6.38. Ele tem funcionado bem por algum tempo (mais de um ano), mas recentemente notei algo estranho. Por alguns meses, a parte da memória alocada para buffers (E / S de disco, rede) sempre fica em zero.

A saída de livre é assim:

             total       used       free     shared    buffers     cached
Mem:       2071148    1775284     295864          0          0    1139388
-/+ buffers/cache:     635896    1435252
Swap:       524280      19508     504772

A coluna buffers sempre imprime 0, não importa o uso do servidor (este é um servidor de e-mail bastante ocupado executando o postfix e o courier).

Aqui estão mais algumas informações:

  • /proc/meminfo e /proc/slabinfo output: link
  • atsar -p (paginação / troca) saída de um dia normal: link (mostra que há pouca troca envolvida)

Eu também tenho a impressão, mas não posso realmente medir isso, que o sistema é lento na leitura de alguns arquivos, arquivos que são pouco usados ou arquivos grandes como logs. Daí meu questionamento se essa buffers memória poderia ser mal configurada de alguma forma e que a taxa de transferência do disco poderia ser aumentada.

No entanto, parece que não existe nenhum parâmetro do kernel do Linux para governar essa buffers de memória, pelo menos nada como os parâmetros que existem para a cached de memória. Ou talvez eu tenha perdido alguma coisa?

Como essa memória pode ser sempre zero? Isso é algo que eu deveria me preocupar? Como posso alterar esse comportamento para colocar um pouco de RAM para melhor uso se for realmente viável?

Atualização: Após a atualização do kernel (kernel personalizado 2.6.38 do meu provedor), o comportamento permanece o mesmo com os buffers ficando em 0. Isso dura há mais de um ano, com o servidor sendo muito usado (servidor de email para cerca de 2 centenas de usuários). Este servidor tem rodado o Debian 6 e agora está feliz com o Debian 7. Memória de buffer ainda permanecendo em 0!

    
por Tonin 17.12.2012 / 20:39

1 resposta

0

memória buffer não deve ser 0, tecnicamente, a menos que o servidor esteja ocioso e não faça absolutamente nada. Ainda assim, esperaria algum uso de buffer.

Você diz que está percebendo isso recentemente. Alguma coisa mudou no servidor recentemente.

Você está trocando um pouco, o que pode ter um efeito prejudicial no desempenho, mas isso não deve ter nada a ver com o buffer. E o desempenho é uma questão diferente e o buffer mostrando 0 é outro.

Você pode pegar essas saídas e colá-las.

cat /proc/meminfo 
cat /proc/slabinfo
mount
    
por 18.12.2012 / 01:48