LINUX.ORG.RU
ФорумAdmin

php-cgi ограничить обьем занимаемой памяти.


0

1

Частая задача.

Есть впс. Есть nginx и есть рhр-cgi управляемое php-fpm. И как обычно воркеры отьедают всю доступную память.

После чтения http://php-fpm.org/wiki/Configuration_File понял, что собственно самой этой штуковиной количество памяти отжираемое одним воркером не ограничить.

Какими способами вы с этим справляетесь?

Ответ на: комментарий от anonymous

Это не влияет на размер воркера. В конфиге стоит 32М. На деле

ps aux |grep nobody
nobody   21634  0.0 10.2 175660 53968 ?        S    Dec18   0:40 /usr/bin/php-cgi --fpm --fpm-config /etc/php-fpm.conf
nobody   21675  0.0 10.0 174728 52932 ?        S    Dec18   0:40 /usr/bin/php-cgi --fpm --fpm-config /etc/php-fpm.conf
nobody   21676  0.0  9.3 172400 49124 ?        S    Dec18   0:40 /usr/bin/php-cgi --fpm --fpm-config /etc/php-fpm.conf
nobody   21713  0.0  8.8 168600 46196 ?        S    Dec18   0:41 /usr/bin/php-cgi --fpm --fpm-config /etc/php-fpm.conf
nobody   21718  0.0  7.8 163020 41368 ?        S    Dec18   0:41 /usr/bin/php-cgi --fpm --fpm-config /etc/php-fpm.conf

guyvernk
() автор топика
Ответ на: комментарий от guyvernk

во-первых , php-cgi вы никакими ключами в php-fpm не превратите )

это компилируется отдельно, раз уж собрали как fastcgi , оно от этого не станет fpm )


во-вторых, смотретите в сторону директив PHP_FCGI_CHILDREN в конфиге веб сервера тогда уже

http://www.opennet.ru/base/net/nginx_php.txt.html

пример есть тут, удачи.

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

php-fpm вот так смотрится


~ #ps aux |grep php
user1   7873  0.5  6.1  39524 22812 ?        S    14:28   0:00 php-fpm: pool user1
root     12161  0.0  0.9  25244  3504 ?        Ss   Dec18   0:06 php-fpm: master process (/etc/php-fpm.conf)
user1  13740  0.0  6.1  41720 22716 ?        S    Dec18   0:00 php-fpm: pool user1
www    17518  0.0  4.2  34316 15668 ?        S    09:37   0:13 php-fpm: pool www
www    19609  0.0  4.4  34460 16360 ?        S    10:25   0:12 php-fpm: pool www
user1  28418  0.8  6.2  39792 23028 ?        S    14:30   0:00 php-fpm: pool user1

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

php-cgi вы никакими ключами в php-fpm не превратите.

пхп собран в том числе и с

'--enable-fastcgi' '--with-fpm' '--with-fpm-bin=/usr/bin/php-cgi' '--with-fpm-port=9000' '--with-fpm-conf=/etc/php-fpm.conf' '--with-fpm-log=/var/log/php-fpm.log' '--with-fpm-pid=/var/run/php-fpm.pid' '--with-fpm-user=nobody' '--with-fpm-group=nobody' 

http://www.opennet.ru/base/net/nginx_php.txt.html

По той ссылке нет ничего. Кроме описания самодельного скрипта вместо php-fpm.

А в моем случае количество спаунящихся воркеров настроено в /etc/php-fpm.conf.

Мне нужно ограничивать именно память сьедаемую одним воркером.

в конфиге веб сервера тогда уже.

Все ключи nginx для fastcgi описаны http://sysoev.ru/nginx/docs/http/ngx_http_fastcgi_module.html.

И ничего об управлении памятью прокси не нашел, что не удивительно.

guyvernk
() автор топика
Ответ на: комментарий от guyvernk

>'--with-fpm' '--with-fpm-bin=/usr/bin/php-cgi'

что-то это не совсем правильно выглядит, если собрано --with-fpm,
то и запускать надо php-fpm , а если у вас переименован бинарник в php-cgi , то это как минимум вы вводите в заблуждение и себя и других )
настройки fpm тоже лучше делать в php-fpm.conf


А в моем случае количество спаунящихся воркеров настроено в /etc/php-fpm.conf


если ваш php-cgi на самом деле php-fpm , ок

Мне нужно ограничивать именно память сьедаемую одним воркером.


настраивайте в php.ini лимиты, посмотрите <?php phpinfo(); ?> вывод вначале, возможно для php.ini используется не тот путь который вы ожидаете, ну и сами лимиты там же отображаются.

Все ключи nginx для fastcgi


на опеннете пример с переменными окружения, но для fpm можно и обойтись без.

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

а еще memory_limit это директива для обьема памяти скриптов,
если у вас сама php или ее расширения (apc, eaccelerator, xcache например) кушают много памяти, то memory_limit им не препятствует

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

если у вас переименован бинарник в php-cgi

Вопрос скорее к мантейнеру репозитория.

настраивайте в php.ini лимиты,

Я уже писал что memory_limit = 32M

Сейчас вот вспомнил, что у меня xcache включен же. facepalm.png

guyvernk
() автор топика

А в виртуалке запускать? OpenVZ там... простите, если не по теме

darkshvein ☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.