Чеширский Кот (checat) wrote in ru_root,
Чеширский Кот
checat
ru_root

Вопросы линуксоидам

1. Как увидеть статистику использования памяти с учётом shared memory?
В данный момент я вижу следующее:

# top
...
Mem:   2074428k total,  1282012k used,   792416k free,     7616k buffers
Swap:  1004052k total,   107960k used,   896092k free,   920100k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
25493 postgres  15   0  832m 620m 619m S    0 30.6   0:07.42 postgres: writer process

# free
             total       used       free     shared    buffers     cached
Mem:       2074428    1275644     798784          0       8236     895444
-/+ buffers/cache:     371964    1702464
Swap:      1004052     112092     891960

Как нетрудно заметить, обе утилиты говорят о примерно 800МБ свободных, 900МБ кэша и 370МБ используемых (с вычетом кэша), что в сумме составляет имеющиеся 2ГБ.
В то же время присутствует процесс, который использует 620МБ System V IPC shared memory, что отображается в статистике процесса, но не отображается в статистике системы, и явно не укладывается ни в какие суммы. Получается, что в статистике их надо самому вычитать из свободной.
При этом я знаю лимит выделенной shared памяти, но реальное использование могу увидеть только зная, на какой процесс смотреть.
Где увидеть реальную статистику?

UP: Я не стал сразу приводить /proc/meminfo, потому что в нём такие же несоответствия. Полагаю, утилиты не заморачиваются анализом, а копируют значения напрямую
#
MemTotal:      2074428 kB
MemFree:        808636 kB
Buffers:          9672 kB
Cached:         958268 kB
SwapCached:      24740 kB
Active:        1062120 kB
Inactive:       147452 kB
HighTotal:     1179072 kB
HighFree:        17984 kB
LowTotal:       895356 kB
LowFree:        790652 kB
SwapTotal:     1004052 kB
SwapFree:       893668 kB
Dirty:            5236 kB
Writeback:           4 kB
Mapped:         964884 kB
Slab:            34108 kB
Committed_AS:  1394912 kB
PageTables:      10920 kB
VmallocTotal:   106488 kB
VmallocUsed:      2460 kB
VmallocChunk:   103068 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB



2. Может ли память в System V IPC shared memory быть выгружена ядром в swap?

UP: понял, ответ на второй вопрос - да
Tags: linux
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 10 comments