1

У меня есть производственная система под управлением 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 )

1 ответ1

0

Одним из источников используемого свопа, который не будет отображаться в каждом процессе, являются страницы SwapCached.

SwapCached: 174456 kB - это страницы, которые находятся как в подкачке , так и в оперативной памяти .

Это происходит, когда страницы отправляются для замены, а затем снова нужны, но никогда не изменяются. Копия на диске все еще действительна, поэтому сохраняется. По сути, он может быть снова перенесен на диск без необходимости записи на диск.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .