The swap used reported by free is very high.
[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
Like, really high.
[root@bb14 blackboard]# free -g|grep Swap
Swap: 0 1717986906 114
Or is it?
[root@bb14 blackboard]# free -h |grep Swap
Swap: 767M 767M 114G
Even more strange, even if I disable swap the number still stays high.
[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
Things don't get any less confusing when checking meminfo, which shows swapfree higher than swaptotal.
[root@rhel6 ~]# cat /proc/meminfo|grep Swap
SwapCached: 0 kB
SwapTotal: 786428 kB
SwapFree: 120404008 kB
Obviously something is wonky and my first instinct is to reboot, but this is a production machine which means maintenance windows, etc, and I'm wondering if there's any way to find out what's wrong and possibly even fix it without downtime.
The solution was to Upgrade to kernel-2.6.32-573.7.1.el6 or higher.
A simple
yum update
and reboot should be all it takes.Below is a quote of the bug report of kernel-2.6.32-573.1.1.el6.x86_64 that caused the Swap free to be greater than the swap total:
It looks like this is a known issue in RHEL6.7 with kernel-2.6.32-573.1.1.el6.x86_64 being tracked in their private bugzilla.
https://access.redhat.com/solutions/1571043