Page 1 of 2

: Unable to allocate memory for pool.

Posted: Fri Apr 26, 2013 8:41 am
by Sattva
Добрый день.

Столкнулся вот с такой ошибкой:

Code: Select all

warning: require_once(): Unable to allocate memory for pool. in /home/svetlana/web/светрица.рф/public_html/includes/module.inc on line 273.

Code: Select all

Warning: include(): Unable to allocate memory for pool. в функции theme_render_template() (строка 1413 в файле /home/svetlana/web/almaz-c.com/public_html/includes/theme.inc).
Лечу так:
# service httpd restart

Code: Select all

Stopping httpd:                                            [  OK  ]
Starting httpd: [Fri Apr 26 11:32:35 2013] [warn] NameVirtualHost 80.69.77.192:8443 has no VirtualHosts
                                                           [  OK  ]
Подскажите, пожалуйста, с чем это может быть связано?
Эти два сайта на Drupal 6, 7.
Вчера видел то же самое на сайте с Bitrix.

Параметры сервера:
4 GB RAM
4 GB SWAP

До перезапуска службы httpd:

Code: Select all

[root@ev web]# free -m
             total       used       free     shared    buffers     cached
Mem:          3831       3441        389          0        126       2467
-/+ buffers/cache:        846       2984
Swap:         3967          1       3966
После перезапуска:

Code: Select all

[root@stayinkiev ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3831       3307        523          0        131       2477
-/+ buffers/cache:        698       3132
Swap:         3967          0       3967
Показатели памяти до перезапуска httpd:
Image

Ошибки:
Image

Image

Re: : Unable to allocate memory for pool.

Posted: Fri Apr 26, 2013 8:50 am
by Sattva

Code: Select all

[root@stayinkiev ~]# service mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@stayinkiev ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3831       3305        525          0        132       2484
-/+ buffers/cache:        689       3141
Swap:         3967          0       3967
[root@stayinkiev ~]# htop
Image

Code: Select all

[root@stayinkiev ~]# service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]
[root@stayinkiev ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3831       3352        478          0        133       2485
-/+ buffers/cache:        733       3097
Swap:         3967          0       3967

Re: : Unable to allocate memory for pool.

Posted: Fri Apr 26, 2013 9:06 am
by Sattva
На прошлом сервере с Kloxo все было еще хуже:
1 GB RAM + 1 GB Burstable RAM = 2 GB которых фатально не хватало.

Потому каждые 30 минут: service httpd restart по крону.
Раз в 60 мин уже не хватало.
При достижении 2 GB сервер вис, конечно.
Image

Re: : Unable to allocate memory for pool.

Posted: Fri Apr 26, 2013 9:28 am
by ArthurCHi
Я сейчас поискал в интернете вашу ошибку, и там в основном говорят про php apc, возможно он плохо настроен. Копайте в эту сторону Некое решение проблемы Можете полностью попробовать отключить apc в htaccess командой

Code: Select all

php_flag apc.cache_by_default Off
Пользователь с друго го сайта пишет:
Когда я столкнулся с такой проблемой, хостер тоже предложил выбор
- или отключить APC
- или прописать в .htaccess директиву php_value memory_limit 128M

Отключил, конечно.
Ошибки пропали.
Другой магазин, который год уже работает без перебоев, об АРС даже понятия не имеет. Потому, наверное, и работает. )
Но.
При запросе phpinfo(); хостера выяснилось, что memory_limit в PHP Core имеет две величины - Local Value и Master Value, обе по 64. А в корне сайта лежит файл php.ini, в котором есть строчка memory_limit = 64M.

.htaccess влияет только на Local Value, то есть на отдельные файлы.
php.ini влияет Master Value, то есть на весь сайт.
Я так понимаю просто дело в том что сайт находит на сервере систему кеширвоания APC и начинает ее использовать, по дефолту на нее выделяется 32 mb оперативной памяти и сайт в миг ее всю заполняет. А так как кеширование не настроено то отсюда и ошибки с тем что лимит использован и места нету.
Пользуйтесь поиском. И настройте у себя нормально Кеширование APC.

Re: : Unable to allocate memory for pool.

Posted: Fri Apr 26, 2013 10:57 am
by Sattva
ArthurCHi, спасибо за вашу отзывчивость и готовность поддержать.

Дело в том, что я ни Apache, ни PHP, NginX не настраивал с того момента как поставил VESTA.
Все настройки созданы разработчиками VESTA и модули подключены ими же.
За это всем, кто работает над этой панелью огромное спасибо!
Так вот, именно по причине невмешательства в настройки, обращаюсь сразу к разработчикам.
Конечно, теперь сам буду искать методы настройки APC и увеличения лимита для сайтов,
однако было бы приятно услышать пару слов о том как это лучше делать
(какой файл править, чтобы не испортить работу панели) от авторов VESTA.

P.S.
На CentOS 6.3 файл настроек APC:
/etc/php.d/apc.ini

Инструкция тут:
http://site-made.ru/drupal/nastroyka-ap ... anie-v-php

Re: : Unable to allocate memory for pool.

Posted: Fri Apr 26, 2013 11:45 am
by ArthurCHi
Sattva wrote:ArthurCHi, спасибо за вашу отзывчивость и готовность поддержать.

Дело в том, что я ни Apache, ни PHP, NginX не настраивал с того момента как поставил VESTA.
Все настройки созданы разработчиками VESTA и модули подключены ими же.
За это всем, кто работает над этой панелью огромное спасибо!
Так вот, именно по причине невмешательства в настройки, обращаюсь сразу к разработчикам.
Конечно, теперь сам буду искать методы настройки APC и увеличения лимита для сайтов,
однако было бы приятно услышать пару слов о том как это лучше делать
(какой файл править, чтобы не испортить работу панели) от авторов VESTA.
Вот по этой причине и нужно настраивать сервер, и делать документацию к панели. что касается настроек, то вы можите поковыряться в этих конфигах которые мне ответил skid в соседней теме:
skid wrote:Во время обновления панели, главные конфигурационные файлы сервисов остаются без измеений. Можете смело менять файлы:

Code: Select all

/etc/nginx/nginx.conf
/etc/httpd/conf/httpd.conf
/etc/my.cnf
/etc/exim/exim.conf
Конфиг apc

Code: Select all

/etc/php.d/apc.ini
Конфиг php.ini

Code: Select all

/etc/php.ini
Но учтите изменяя эти файлы вы меняете конфигурацию для всех сайтов!
Для конкретного сайта можно сделать 2 способами
1) Отредактировать файле .htaccess для конкретного домена и изменить конкретные параметры добавив названия переменных конфига с флагом

Code: Select all

php_flag
Например

Code: Select all

php_flag apc.cache_by_default Off
2) по пути /home/%user%/conf/web лежит конфиг httpd.conf в нем предусмотрен пользовательский include в эту же дерикторию, достаточно создать файл который там вызывается, например если домен mysite.ru то нужно создать конфиг с именем httpd.mysite.ru.conf и в нем произвести необходимые изминения.

Re: : Unable to allocate memory for pool.

Posted: Fri Apr 26, 2013 1:49 pm
by skid
Я тоже сталкивался с подобной проблемой и решение, которое привел ArthurCHi исправило ситуацию.

Попробуйте использовать такой конфиг

Code: Select all

wget http://c.vestacp.com/0.9.7/apc.ini -O /etc/php.d/apc.ini
service httpd restart

Re: : Unable to allocate memory for pool.

Posted: Thu Dec 12, 2013 9:57 pm
by start
Здравствуйте, столкнулся с аналогичной проблемой, попробовал загрузить конфиг:
wget http://c.vestacp.com/0.9.7/apc.ini -O /etc/php.d/apc.ini
Отдалась 404 ошибка и загрузился пустой файл, как можно получить актуальный конфиг? Хотя бы тот, что идет с панелью по умолчанию. Подскажите пожалуйста.

Re: : Unable to allocate memory for pool.

Posted: Fri Dec 13, 2013 10:35 am
by skid
Cсылка для версии 0.9.7 уже не работает, используйте http://c.vestacp.com/0.9.8/rhel/apc.ini

Re: : Unable to allocate memory for pool.

Posted: Fri Dec 13, 2013 10:30 pm
by start
skid wrote:Cсылка для версии 0.9.7 уже не работает, используйте http://c.vestacp.com/0.9.8/rhel/apc.ini
Спасибо, этот конфиг нормально будет работать при 1gb RAM + 1 gb SWAP? Или лучше, на что-то помощнее переезжать. Или подправлять конфиг?