Бесплатные отчеты фиктивная сумма используемого свопа
Своп, используемый по сообщениям free, очень высок.
[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
Мол, действительно высоко.
[root@bb14 blackboard]# free -g|grep Swap
Swap: 0 1717986906 114
Либо это?
[root@bb14 blackboard]# free -h |grep Swap
Swap: 767M 767M 114G
Еще более странно, даже если я отключу своп, число все равно остается высоким.
[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
Вещи не становятся менее запутанными при проверке meminfo, которая показывает swapfree выше, чем swaptotal.
[root@rhel6 ~]# cat /proc/meminfo|grep Swap
SwapCached: 0 kB
SwapTotal: 786428 kB
SwapFree: 120404008 kB
Очевидно, что-то непонятно, и мой первый инстинкт - перезагрузка, но это рабочая машина, которая означает окна обслуживания и т. Д., И мне интересно, есть ли способ узнать, что не так, и, возможно, даже исправить это без простоя.
2 ответа
Решением было обновить до kernel-2.6.32-573.7.1.el6 или выше.
Просто yum update
и перезагрузка должна быть все, что нужно.
Ниже приведена цитата из сообщения об ошибке в kernel-2.6.32-573.1.1.el6.x86_64, из -за которого размер свободного свопа был больше, чем общий объем свопа:
Предыдущее изменение в блокировке get_swap_page() исключило использование спин-блокировки swap_lock. Это может привести к повреждению nr_swap_pages и неверной информации SwapFree в файле /proc/meminfo, где размер SwapFree может превышать размер SwapTotal. Это обновление использует атомарную переменную для nr_swap_pages, и размер SwapFree в /proc/meminfo теперь корректен. (BZ#1259362)
Похоже, что это известная проблема в RHEL6.7, когда kernel-2.6.32-573.1.1.el6.x86_64 отслеживается в их частном bugzilla.