Назад | Перейти на главную страницу

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

У меня есть сервер с оперативной памятью 2 ГБ, работающий на управляемом сервере MediaTemple DV, который использует 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 (который, кажется, противоречит free -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 здесь предполагает, что используется очень большой процент памяти, который не указан в верхней части.

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

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