Память исчерпана, но сверху не отображаются процессы, использующие эту память

У меня есть сервер, который имеет 2 ГБ оперативной памяти и работает на DV-сервере MediaTemple, который использует CentOS. Команда free -m дает следующее:

             total       used       free     shared    buffers     cached
Mem:          2048       1948         99          0          0        140
-/+ buffers/cache:       1808        239
Swap:         1536        288       1247

Но когда я пытаюсь выяснить, какие процессы используют память, используя topЯ получаю это:

1417 mysql     20   0  496m 496m 7512 S  1.3 24.3  42:10.92 mysqld                                                                                                                                         
 3259 okgo      20   0 49436  48m  11m S  0.0  2.4   0:21.96 php-cgi                                                                                                                                        
 3175 root      20   0 49144  47m 3196 S  0.0  2.3   0:01.80 spamd                                                                                                                                          
 3176 popuser   20   0 46940  45m  992 S  0.0  2.2   0:00.00 spamd                                                                                                                                          
 3269 okgo      20   0 44372  43m  10m S 19.2  2.1   0:02.11 php-cgi                                                                                                                                        
 3272 okgo_for  20   0 23808  23m  10m S  0.0  1.1   0:00.79 php-cgi                                                                                                                                        
27161 root      20   0 10816  10m 9460 S  0.0  0.5   0:01.97 httpd                                                                                                                                          
  786 root      20   0  4844 4844 2140 S  0.0  0.2   2:28.96 newrelic-daemon                                                                                                                                
 1017 apache    20   0  4552 4552 2228 S  0.0  0.2   0:01.38 httpd                                                                                                                                          
 3277 postfix   20   0  4432 4432 2548 S  0.0  0.2   0:00.00 trivial-rewrite    

Меня смущает тот факт, что free -m Кажется, команда показывает, что эта память не кэшируется, т.е. -/+ buffers/cache линия также показывает 1827 подержанных! Что мне здесь не хватает?

редактировать

По запросу, вот вывод /proc/meminfo (который, кажется, противоречит свободному -m?):

MemTotal:        2097152 kB
MemFree:           55808 kB
Cached:           158656 kB
Buffers:               0 kB
Active:           368924 kB
Inactive:         428580 kB
Active(anon):     273480 kB
Inactive(anon):   365368 kB
Active(file):      95444 kB
Inactive(file):    63212 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       1572864 kB
SwapFree:        1277160 kB
Dirty:                68 kB
Writeback:             0 kB
AnonPages:        638848 kB
Shmem:              4424 kB
Slab:            1243780 kB
SReclaimable:    1222584 kB
SUnreclaim:        21196 kB

Кроме того, этот пост может пролить свет на ситуацию, но / proc / meminfo здесь предполагает, что используется очень большой процент используемой памяти, который не указан в верхней части.

1 ответ

Slab - это память, используемая ядром, и она не будет отображаться сверху. Сейчас это около 1,2 ГБ, и это правильно добавляет к вашему верхнему выводу тот, который предоставляется бесплатно. Вы можете узнать более подробно, где он используется, используя команду slabtop.

PS Один из наиболее распространенных сценариев, когда используется много памяти, когда система имеет много файлов и читает / пишет их довольно много. Затем много памяти уходит на кеширование информации об инодах. Это кэширование может быть немного настроено, но за счет производительности.

Другие вопросы по тегам