El swap utilizado informado por free es muy alto.
[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,en realidadalto.
[root@bb14 blackboard]# free -g|grep Swap
Swap: 0 1717986906 114
¿O es eso?
[root@bb14 blackboard]# free -h |grep Swap
Swap: 767M 767M 114G
Aún más extraño, incluso si desactivo el intercambio, el número sigue siendo 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
Las cosas no se vuelven menos confusas al verificar meminfo, que muestra swapfree más alto que swaptotal.
[root@rhel6 ~]# cat /proc/meminfo|grep Swap
SwapCached: 0 kB
SwapTotal: 786428 kB
SwapFree: 120404008 kB
Obviamente, algo anda mal y mi primer instinto es reiniciar, pero esta es una máquina de producción, lo que significa ventanas de mantenimiento, etc., y me pregunto si hay alguna manera de descubrir qué está mal y posiblemente incluso arreglarlo sin tiempo de inactividad.
Respuesta1
La solución fue actualizar anúcleo-2.6.32-573.7.1.el6o mas alto.
Un simple yum update
reinicio debería ser todo lo que se necesita.
A continuación se muestra una cita del informe de error denúcleo-2.6.32-573.1.1.el6.x86_64que provocó que el Swap libre fuera mayor que el total del swap:
Un cambio anterior en el bloqueo get_swap_page() eliminó el uso del spinlock swap_lock. Esto podría causar corrupción en nr_swap_pages e información SwapFree no válida en el archivo /proc/meminfo, donde el tamaño de SwapFree podría exceder el tamaño de SwapTotal. Esta actualización utiliza una variable atómica para nr_swap_pages y el tamaño de SwapFree en /proc/meminfo ahora es correcto. (BZ#1259362)
Respuesta2
Parece que este es un problema conocido en RHEL6.7 con el seguimiento del kernel-2.6.32-573.1.1.el6.x86_64 en su bugzilla privado.