Что использует оперативную память на этом сервере 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
Таким образом, вы заметите, какие программы используют больше оперативной памяти. и вы можете легко прекратить один, если хотите.