free reports quantidade falsa de swap usada

3

A troca usada informada por livre é muito alta.

[root@rhel6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          9892       9537        354          0         71        884
-/+ buffers/cache:       8581       1310 
Swap:          767 1759218592     116869 

Como, realmente alto.

[root@bb14 blackboard]# free -g|grep Swap
Swap:            0 1717986906        114 

Ou é?

[root@bb14 blackboard]# free -h |grep Swap
Swap:         767M       767M       114G 

Ainda mais estranho, mesmo se eu desabilitar a troca, o número ainda permanece alto.

[root@rhel6 ~]# swapoff -a
[root@rhel6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          9892       9760        131          0         45        638
-/+ buffers/cache:       9076        815 
Swap:            0 1759218592     116814 

As coisas não ficam menos confusas ao verificar meminfo, que mostra swapfree superior ao swaptotal.

[root@rhel6 ~]# cat /proc/meminfo|grep Swap
SwapCached:            0 kB
SwapTotal:        786428 kB
SwapFree:       120404008 kB
Obviamente, algo está instável e meu primeiro instinto é reiniciar, mas esta é uma máquina de produção que significa manutenção janelas, etc, e eu estou querendo saber se há alguma maneira de descobrir o que está errado e, possivelmente, até corrigi-lo sem tempo de inatividade.

    
por Jonathan Lynch 07.10.2015 / 17:44

2 respostas

4

A solução foi Atualizar para kernel-2.6.32-573.7.1.el6 ou superior.

Um simples yum update e reinicialização devem ser suficientes.

Abaixo está uma citação do relatório de bug do kernel-2.6.32-573.1.1.el6.x86_64 que fez com que o Swap free fosse maior que o total de swap:

A previous change in the get_swap_page() locking removed the use of the swap_lock spinlock. This could cause nr_swap_pages corruption and invalid SwapFree information in the /proc/meminfo file, where the size of SwapFree could exceed the size of SwapTotal. This update uses an atomic variable for nr_swap_pages, and the size of SwapFree in /proc/meminfo is now correct. (BZ#1259362)

    
por 02.02.2016 / 22:36
2

Parece que este é um problema conhecido no RHEL6.7 com o kernel-2.6.32-573.1.1.el6.x86_64 sendo rastreado em seu bugzilla privado.

link

    
por 07.10.2015 / 17:44