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

Linux Nginx + php-fpm + cron + mysqld = всегда не хватает памяти

Я не понимаю. У меня есть VPS с Nginx, php-fpm и MySQL. Должен быть очень легким. Никакого Apache, правда? Когда перезагружаюсь, он очень легкий. Использование MEM ~ 50/481 МБ. Очень приемлемо, ИМО.

И через несколько дней будет запущено ~ 20 процессов mysqld, ~ 7 процессов php-fpm и ~ 8 процессов getty и 3/4 из 1024 МБ свопа заполнено, и серверу не хватает памяти!

Я не профессионал, но уверен, что это неправильно ...

Я думаю, старухи тут как-то связаны. У меня запланировано 3 работы:

Я не уверен, почему я так думаю =) Вероятно, потому что простое задание (SMTP, каждую минуту) всегда находится в списке htop. (Но всегда с 0% cpu, 0% mem и 0:00:00 time ...)

20 mysqld тоже очень странные, но они, похоже, не требуют много памяти.

Очевидно, что php-fpm потребляют много памяти. За 10 минут, которые потребовались, чтобы написать это, память увеличилась с 66 МБ до 120 МБ! Шесть основных процессов, потребляющих память: php-fpm: pool www. Когда я перезапускаю /etc/init.d/php5-fpm размер памяти уменьшается до ~ 70 МБ. Как php-fpm требует 400+ МБ памяти? Что с этим?

Своп оставался довольно стабильным и составлял ~ 98 МБ за последние 10 минут.

Кто-нибудь знает, что может происходить? (Я знаю, что информации обо всем сервере очень мало). Если хотите, я могу добавить детали.

У меня даже нет сайтов приличного размера!

Больше информации:

Экран htop --sort-key PERCENT_MEM:

Pastebin с ps xv, cat /proc/meminfo и top: http://pastebin.com/PfXeupMN

Что-то было не так в конфигурации сервера (очень-очень медленный ввод-вывод), что и было виновато. Провайдер vps сделал обновление оборудования (я думаю), и все было исправлено. Использование памяти все еще может быть высоким (я не знаю), но в целом сервер снова работает очень быстро.

Извините, я не упомянул об этом раньше.