Eu tenho um sistema de produção rodando centos 6.3 com 96 Gb de RAM e swap de 2 Gb. A intenção é que haja RAM suficiente na caixa para que nenhum processo seja trocado.
Durante a última semana, a quantidade de espaço de troca usada aumentou para 100%, conforme relatado por / proc / meminfo SwapTotal e SwapFree.
No entanto, a quantidade de troca usada pelos processos, conforme relatada por top e pelo script fornecido aqui é apenas cerca de 26 Mb.
O sistema não parece estar trocando, então não tenho certeza de como seria seria levar o valor SwapFree do / proc / meminfo.
Por que existe essa discrepância entre o que / proc / meminfo relatórios e o processo por Swap?
Como posso descobrir quais processos são responsáveis por / proc / meminfo pensar que toda a troca é usada (exceto por matar cada processo por vez e ver quando o SwapFree aumenta, o que não é realmente uma boa idéia em um sistema de produção)?
Atualização: aqui está a saída atual de livre:
total used free shared buffers cached
Mem: 99052152 98330684 721468 0 577400 82224692
-/+ buffers/cache: 15528592 83523560
Swap: 2097144 959580 1137564
e 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
O uso total de swap registrado em /proc/*/status VmSwap
é 11832 Kb.
(calculado por awk '/^VmSwap/ {t+=$2} END {print t" kB"}' /proc/*/status
)