Что использует оперативную память на этом сервере Ubuntu 12.04.2?

У меня есть два сервера в пуле с Nginx, PHP5-FPM и Memcached. По какой-то причине первый сервер в пуле, по-видимому, необъяснимо теряет около 2 ГБ оперативной памяти. Я не могу объяснить, куда это идет.

Перезагрузка возвращает все в нормальное состояние, но через несколько часов ОЗУ используется снова.

Сначала я думал, что это до memcached, но в конце концов я убил все процессы, которые мог разумно уничтожить, и память не была освобождена. Даже init 1 не освободил память.

ipcs -m пуст и slabtop выглядит примерно так же, как и сервер в пуле, который использует очень мало памяти.

df показывает около 360K в tmpfs

В случае, если это уместно, оба сервера практически идентичны в том смысле, что они оба работают на одной и той же ОС с одинаковым уровнем обновлений на одном и том же гипервизоре (VMWare ESXi 4.1) на разных хостах, но с одинаковым оборудованием. Различия в том, что:

  • Первый сервер имеет монтирование NFS. Я попытался размонтировать это и удалить модули, но без изменений в использовании оперативной памяти
  • Первый сервер прослушивает сайты HTTP и HTTPS, а второй - только HTTP.

Вот вывод free -m ...

             total       used       free     shared    buffers     cached
Mem:          3953       3458        494          0        236        475
-/+ buffers/cache:       2746       1206
Swap:         1023          0       1023

Вот /proc/meminfo ...

MemTotal:        4048392 kB
MemFree:          506576 kB
Buffers:          242252 kB
Cached:           486796 kB
SwapCached:            8 kB
Active:           375240 kB
Inactive:         369312 kB
Active(anon):      12320 kB
Inactive(anon):     3596 kB
Active(file):     362920 kB
Inactive(file):   365716 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       1048572 kB
SwapFree:        1048544 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         15544 kB
Mapped:             3084 kB
Shmem:               412 kB
Slab:              94516 kB
SReclaimable:      75104 kB
SUnreclaim:        19412 kB
KernelStack:         632 kB
PageTables:         1012 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3072768 kB
Committed_AS:      20060 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      281340 kB
VmallocChunk:   34359454584 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       59392 kB
DirectMap2M:     4134912 kB

Вот список процессов в то время...

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  24336  2160 ?        Ss   Jul22   0:09 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Jul22   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Jul22   0:38 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    Jul22   0:00 [kworker/u:0]
root         6  0.0  0.0      0     0 ?        S    Jul22   0:04 [migration/0]
root         7  0.0  0.0      0     0 ?        S    Jul22   0:32 [watchdog/0]
root         8  0.0  0.0      0     0 ?        S    Jul22   0:04 [migration/1]
root        10  0.0  0.0      0     0 ?        S    Jul22   0:22 [ksoftirqd/1]
root        11  0.0  0.0      0     0 ?        S    Jul22   0:15 [kworker/0:1]
root        12  0.0  0.0      0     0 ?        S    Jul22   0:31 [watchdog/1]
root        13  0.0  0.0      0     0 ?        S    Jul22   0:04 [migration/2]
root        15  0.0  0.0      0     0 ?        S    Jul22   0:04 [ksoftirqd/2]
root        16  0.0  0.0      0     0 ?        S    Jul22   0:14 [watchdog/2]
root        17  0.0  0.0      0     0 ?        S    Jul22   0:04 [migration/3]
root        19  0.0  0.0      0     0 ?        S    Jul22   0:04 [ksoftirqd/3]
root        20  0.0  0.0      0     0 ?        S    Jul22   0:11 [watchdog/3]
root        21  0.0  0.0      0     0 ?        S<   Jul22   0:00 [cpuset]
root        22  0.0  0.0      0     0 ?        S<   Jul22   0:00 [khelper]
root        23  0.0  0.0      0     0 ?        S    Jul22   0:00 [kdevtmpfs]
root        24  0.0  0.0      0     0 ?        S<   Jul22   0:00 [netns]
root        25  0.0  0.0      0     0 ?        S    Jul22   0:02 [sync_supers]
root        26  0.0  0.0      0     0 ?        S    Jul22   0:21 [kworker/u:1]
root        27  0.0  0.0      0     0 ?        S    Jul22   0:00 [bdi-default]
root        28  0.0  0.0      0     0 ?        S<   Jul22   0:00 [kintegrityd]
root        29  0.0  0.0      0     0 ?        S<   Jul22   0:00 [kblockd]
root        30  0.0  0.0      0     0 ?        S<   Jul22   0:00 [ata_sff]
root        31  0.0  0.0      0     0 ?        S    Jul22   0:00 [khubd]
root        32  0.0  0.0      0     0 ?        S<   Jul22   0:00 [md]
root        34  0.0  0.0      0     0 ?        S    Jul22   0:04 [khungtaskd]
root        35  0.0  0.0      0     0 ?        S    Jul22   0:15 [kswapd0]
root        36  0.0  0.0      0     0 ?        SN   Jul22   0:00 [ksmd]
root        37  0.0  0.0      0     0 ?        SN   Jul22   0:00 [khugepaged]
root        38  0.0  0.0      0     0 ?        S    Jul22   0:00 [fsnotify_mark]
root        39  0.0  0.0      0     0 ?        S    Jul22   0:00 [ecryptfs-kthrea]
root        40  0.0  0.0      0     0 ?        S<   Jul22   0:00 [crypto]
root        48  0.0  0.0      0     0 ?        S<   Jul22   0:00 [kthrotld]
root        50  0.0  0.0      0     0 ?        S    Jul22   2:59 [kworker/1:1]
root        51  0.0  0.0      0     0 ?        S    Jul22   0:00 [scsi_eh_0]
root        52  0.0  0.0      0     0 ?        S    Jul22   0:00 [scsi_eh_1]
root        57  0.0  0.0      0     0 ?        S    Jul22   0:09 [kworker/3:1]
root        74  0.0  0.0      0     0 ?        S<   Jul22   0:00 [devfreq_wq]
root       114  0.0  0.0      0     0 ?        S    Jul22   0:00 [kworker/3:2]
root       128  0.0  0.0      0     0 ?        S    Jul22   0:00 [kworker/1:2]
root       139  0.0  0.0      0     0 ?        S    Jul22   0:00 [kworker/0:2]
root       249  0.0  0.0      0     0 ?        S<   Jul22   0:00 [mpt_poll_0]
root       250  0.0  0.0      0     0 ?        S<   Jul22   0:00 [mpt/0]
root       259  0.0  0.0      0     0 ?        S    Jul22   0:00 [scsi_eh_2]
root       273  0.0  0.0      0     0 ?        S    Jul22   0:20 [jbd2/sda1-8]
root       274  0.0  0.0      0     0 ?        S<   Jul22   0:00 [ext4-dio-unwrit]
root       377  0.0  0.0      0     0 ?        S    Jul22   0:26 [jbd2/sdb1-8]
root       378  0.0  0.0      0     0 ?        S<   Jul22   0:00 [ext4-dio-unwrit]
root       421  0.0  0.0  17232   584 ?        S    Jul22   0:00 upstart-udev-bridge --daemon
root       438  0.0  0.0  21412  1176 ?        Ss   Jul22   0:00 /sbin/udevd --daemon
root       446  0.0  0.0      0     0 ?        S<   Jul22   0:00 [rpciod]
root       448  0.0  0.0      0     0 ?        S<   Jul22   0:00 [nfsiod]
root       612  0.0  0.0  21408   772 ?        S    Jul22   0:00 /sbin/udevd --daemon
root       613  0.0  0.0  21728   924 ?        S    Jul22   0:00 /sbin/udevd --daemon
root       700  0.0  0.0      0     0 ?        S<   Jul22   0:00 [kpsmoused]
root       849  0.0  0.0  15188   388 ?        S    Jul22   0:00 upstart-socket-bridge --daemon
root       887  0.0  0.0      0     0 ?        S    Jul22   0:00 [lockd]
root       919  0.0  0.0  14504   952 tty4     Ss+  Jul22   0:00 /sbin/getty -8 38400 tty4
root       922  0.0  0.0  14504   952 tty5     Ss+  Jul22   0:00 /sbin/getty -8 38400 tty5
root       924  0.0  0.0  14504   944 tty2     Ss+  Jul22   0:00 /sbin/getty -8 38400 tty2
root       925  0.0  0.0  14504   944 tty3     Ss+  Jul22   0:00 /sbin/getty -8 38400 tty3
root       930  0.0  0.0  14504   952 tty6     Ss+  Jul22   0:00 /sbin/getty -8 38400 tty6
root       940  0.0  0.0      0     0 ?        S    Jul22   0:07 [flush-8:0]
root      1562  0.0  0.0  58792  1740 tty1     Ss   Jul22   0:00 /bin/login --     
root     12969  0.0  0.0      0     0 ?        S    07:18   0:02 [kworker/2:2]
root     30051  0.0  0.0      0     0 ?        S    10:13   0:00 [flush-8:16]
root     30909  0.0  0.0      0     0 ?        S    10:14   0:00 [kworker/2:1]
johncc   30921  0.2  0.2  26792  9360 tty1     S    10:17   0:00 -bash
root     31089  0.0  0.0      0     0 ?        S    10:18   0:00 [kworker/0:0]
root     31099  0.0  0.0  42020  1808 tty1     S    10:19   0:00 sudo -i
root     31100  0.2  0.1  22596  5168 tty1     S    10:19   0:00 -bash
root     31187  0.0  0.0      0     0 ?        S    10:19   0:00 [kworker/2:0]
root     31219  0.0  0.0  16880  1252 tty1     R+   10:22   0:00 ps aux
root     31220  0.0  0.0  53924   536 tty1     R+   10:22   0:00 curl -F sprunge=<- http://sprunge.us

Кто-нибудь может подсказать, что попробовать дальше, или как отладить эту проблему? Я в недоумении!

2 ответа

Решение

Машина является виртуальным гостем, работающим на гипервизоре ESXi. А как насчет памяти? Прежде всего, я бы порекомендовал вам проверить статистику ESXi/vCenter memory/balloon этого гостя.

Может случиться, что гипервизор попросит гостя "надуть" воздушный шар, чтобы выделить дополнительную память, например, для других работающих гостей. Но для этого необходимо загрузить драйвер всплывающей подсказки, который доступен в виде модуля ядра vmmemctl.

Наконец, очевидный вопрос может заключаться в том, что у гостя установлены и запущены инструменты vmware, поскольку я не вижу никаких связанных процессов в предоставленном вами списке процессов. С другой стороны, не было ли никакого процесса vmware-guestd до того, как вы начали их убивать?

Команда watch может быть полезна. Попробуйте бесплатно смотреть -n 5, чтобы отслеживать использование памяти с обновлениями каждые пять секунд.

Также

htop - лучшее решение.

  sudo apt-get install htop

Таким образом, вы заметите, какие программы используют больше оперативной памяти. и вы можете легко прекратить один, если хотите.

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