pcre_compile() failed: failed to get memory

Aleksej Novikov aleksej at novikov.lv
Fri Apr 25 16:35:11 MSD 2008


Hello Igor,

Friday, April 25, 2008, 2:56:53 PM, you wrote:

> On Fri, Apr 25, 2008 at 02:41:00PM +0300, Aleksej Novikov wrote:

>> Hello ,
>> 
>>   Такая вот ерунда иногда бывает.
>> 
>> # /etc/init.d/nginx restart
>>  * Checking nginx' configuration ...
>> 2008/04/25 13:24:21 [emerg] 10995#0: malloc() 16384 bytes failed (12: Cannot allocate memory)
>> 2008/04/25 13:24:21 [emerg] 10995#0: pcre_compile() failed: failed to get memory in "^.+\.(php)$" at "^.+\.(php)$" in /etc/nginx/nginx.conf:276262
>> 2008/04/25 13:24:21 [emerg] 10995#0: the configuration file /etc/nginx/nginx.conf test failed
>>  * failed, please correct errors above
>> 
>> 
>>  Конфиг нереально больщой, в нём порядка 30.000 хостов.

> Как выглядит типичный server ?
        server {
        listen xx.xx.xx.xx ;
        error_page 404  /;
        server_name www.aa.bb ww.bb;

        location / {
        root   /foo/bar;
        index   index.html index.phtml index.htm index.php4 index.php3 index.php index.wml;
        allow all;
    }


и <1% дополнительно

        location ~* ^.+\.(php)$ {
        root /foo/bar;
        rewrite .*  http://aa.bb.cc/php_out.html   break;
        }

Bсего 54554 хоста.
nginx/0.5.26





> Я иногда думаю как-то уменьшить потребление памяти в конфиге, но тут есть
> два момента.

> 1) Уменьшать имеет смысл для встроенных систем, но не исключено, что новый
> код займёт больше места, чем сэкномленная память на небольшом конфиге.

> 2) Что касается обычных систем, то не понятно, имеет ли это смысл, если,
> например, у facebook'а в качестве стандартных серверов (коих порядка 10,000)
> идут машины с 32G памяти. Я думаю, ещё пару лет и они станут стандартными
> для всех, как сейчас 2-4G.

Реальлно добавление RAM тупо решит проблему ?



-- 
Best regards,
Aleksej             
ICQ:    293-686-24
GSM:371-293-686-24







More information about the nginx-ru mailing list