У меня есть производственная система под управлением Centos 6.3 с 96 ГБ ОЗУ и подкачкой 2 ГБ. Предполагается, что на коробке достаточно оперативной памяти, чтобы никакие процессы не могли быть заменены.
За последнюю неделю или около того объем используемого пространства подкачки увеличился до 100%, как сообщают /proc /meminfo SwapTotal и SwapFree.
Тем не менее, объем подкачки, используемый процессами, как указано top и скриптом, представленным здесь https://stackoverflow.com/questions/479953/how-to-find-out-which-processes-are-swapping-in-linux только около 26 Мб.
Похоже, что система не меняет местами, поэтому я не уверен, насколько серьезно можно принять значение /proc /meminfo SwapFree.
Почему существует такая разница между отчетами /proc /meminfo и свопом для каждого процесса?
Как я могу узнать, какие процессы отвечают за /proc /meminfo, думая, что используется весь своп (кроме как поочередно убивая каждый процесс и наблюдая, когда SwapFree увеличивается, что на самом деле не очень хорошая идея для производства системы)?
Обновление: вот текущий бесплатный вывод:
total used free shared buffers cached
Mem: 99052152 98330684 721468 0 577400 82224692
-/+ buffers/cache: 15528592 83523560
Swap: 2097144 959580 1137564
и cat /proc /meminfo:
MemTotal: 99052152 kB
MemFree: 731560 kB
Buffers: 577400 kB
Cached: 82222116 kB
SwapCached: 174456 kB
Active: 69762456 kB
Inactive: 25778300 kB
Active(anon): 53783608 kB
Inactive(anon): 8973048 kB
Active(file): 15978848 kB
Inactive(file): 16805252 kB
Unevictable: 31424 kB
Mlocked: 31424 kB
SwapTotal: 2097144 kB
SwapFree: 1137556 kB
Dirty: 2076 kB
Writeback: 0 kB
AnonPages: 12598632 kB
Mapped: 43958780 kB
Shmem: 50010060 kB
Slab: 1390148 kB
SReclaimable: 1308692 kB
SUnreclaim: 81456 kB
KernelStack: 6400 kB
PageTables: 171412 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 51623220 kB
Committed_AS: 68521168 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 478428 kB
VmallocChunk: 34307842136 kB
HardwareCorrupted: 0 kB
AnonHugePages: 11145216 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 5604 kB
DirectMap2M: 2078720 kB
DirectMap1G: 98566144 kB
Общее использование подкачки, записанное в /proc/*/status VmSwap
составляет 11832 Кб.
(рассчитывается по awk '/^VmSwap/ {t+=$2} END {print t" kB"}' /proc/*/status
)