Я использую сайт wordpress, и каждый процесс PHP использует от 200 до 250 МБ памяти резидентного размера. С 16 ГБ оперативной памяти сервер может обрабатывать только около 70 процессов. При увеличении виртуальной памяти до 16 ГБ он может обрабатывать 140. После этого нагрузка продолжает расти. При 200 подключениях за 10 минут загрузка сервера достигает 20 на четырехъядерном процессоре xeon с тактовой частотой 3 ГГц!
Я попытался деактивировать все плагины, но это уменьшило использование памяти PHP каждым процессом менее чем на 10%. suPHP сообщает мне, какой пользователь использует столько памяти, но не сообщает, какая часть кода wordpress.
Любые предложения о том, как уменьшить использование памяти? Или мой единственный вариант обновить оперативную память до 32 ГБ?
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10585 nobody 16 0 2266m 237m 199m S 21.3 1.5 1:09.17 /usr/bin/php
10597 nobody 16 0 2257m 255m 226m S 15.3 1.6 0:17.56 /usr/bin/php
Наибольшие результаты от pmap -d
000000000e8b8000 27580 rw--- 000000000e8b8000 000:00000 [ anon ]
00002b3772850000 2097152 rw-s- 0000000000000000 000:00009 [ shmid=0x2d1b803a ]
00002b37f2a62000 55108 r---- 0000000000000000 0fd:00000 locale-archive
mapped: 2320852K writeable/private: 30012K shared: 2097152K
вывод ipcs
------ Semaphore Arrays --------
key semid owner perms nsems
0x000000a7 0 root 600 1
0x00000000 162529281 nobody 600 1
0x00000000 162562050 nobody 600 1
0x00000000 162594819 nobody 600 1
0x00000000 162627588 nobody 600 1
------ Message Queues --------
key msqid owner perms used-bytes messages`