Out of memory

Главные вкладки

Аватар пользователя nukerster nukerster 4 марта 2010 в 10:09

Добрый день. У меня следующая ситуация: имеется VPS-хостинг. Установлен 6-ой Drupal. При установке и настройке тяжёлых модулей типа CCK и Views постоянно сталкиваюсь с тем, что сайт начинает выпадать в ошибки типа: Fatal error: Out of memory (allocated ######) (tried to allocate ###### bytes). И всё это ну просто не даёт совершенно работать. Вот пока я пишу этот пост сайт "лежит" уже час, выдавая всё тот же Out of memory. Даже в ISP Manager не могу зайти и по шеллу соединиться. Это всё усугубляется тем, что я со всем этим дела до этого не имел и ни в настройке VPS, ни в настройке самого Друпала у меня опыта нет пока. В ответ на обращение в один из таких разов, когда сервер становился недоступным, хостер прислал следующее:
«Что касается причин ошибок, то рекомендуем обратить внимание на следующую информацию:

uid resource held maxheld barrier limit failcnt

####: kmemsize 4675075 6197449 8388608 8388608 0
lockedpages 0 98 256 256 8
privvmpages 85162 131303 131072 131072 401175
shmpages 18 690 32768 32768 0
dummy 0 0 0 0 0
numproc 47 64 100 100 0
physpages 10612 59157 0 2147483647 0
vmguarpages 0 0 131072 2147483647 0
oomguarpages 10615 60135 131072 2147483647 0
numtcpsock 13 43 120 120 0
numflock 5 15 256 256 0
numpty 2 2 32 32 0
numsiginfo 0 12 256 256 0
tcpsndbuf 0 268120 478932 786432 0
tcprcvbuf 0 471240 478932 786432 0
othersockbuf 77560 477640 478932 786432 241
dgramrcvbuf 0 8568 132096 132096 0
numothersock 39 72 120 120 0
dcachesize 278775 287802 2097152 2097152 0
numfile 1141 1510 4096 4096 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 14 14 32 32 0

Не нулевой столбец failcnt говорит, о том, что ВПС-серверу не хватает ресурсов и он предпринимает попытки их превысить. В данной ситуации мы рекомендуем либо оптимизировать работу ПО на сервер, либо сменить тарифный план на более ресурсоёмкий.»

Тариф и правда, мне кажется, выбрали слабенький:
на Хостинг-Центре: Проц. 1x600 и 512 RAM, но неужели этого совсем не хватает для проекта, который ещё в стадии разработки и к которому даже ещё и обращений нет никаких. А что же с ним будет, когда начнут заходить пользователи?

Отсюда вопрос: подскажите пожалуйста, в чём именно может быть такая проблема и как можно попробовать её решить? Может быть как-то можно работу оптимизировать? Или однозначно надо менять тариф? Но думаю, что даже если тариф сменится, всё равно надо что-то решать с быстродействием.

Подскажите новичку, люди добрые!

Заранее благодарен!

Комментарии

Аватар пользователя demarko demarko 4 марта 2010 в 11:58

Снимал VPS тоже друпал вылетал и падал, я VPS больше не доверяю, в будущем только Дедик. Сейчас сижу на хостинге от RuWeb VIP устраивает все. Может Вам стоит подумать про VIP виртуальный хостинг, если его условия для Вас не критичны.

Аватар пользователя Azerot Azerot 4 марта 2010 в 14:43

Quote:
512 RAM, но неужели этого совсем не хватает для проекта

Конечно не хватает! Ведь 512 мегабайт выделяется не PHP на котором работает Drupal а НА ВЕСЬ ваш VPS.
А это значит, что часть памяти (и не хилая) отдаётся серверу MySQL. Далее часть памяти будет занята apache и системными процессами. Что же вам остаётся на Drupal в этом случае? Пшик скорее всего.

Quote:
Out of memory (allocated ######) (tried to allocate ###### bytes).

А вот циферки вы зря не привели - это позволило бы понять сколько выделено и сколько не хватает.

Аватар пользователя smile smile 4 марта 2010 в 16:24

мое суровое имхо - очень зря вы полезли в впс. очередная победа маркетинга хостеров над здравым смыслом веб-матеров.

впс = костыли. блестящие, новые костыли. хороши тем, что все что вам хочется можно настроить, однако в вашем случае вы не можете да и по ресурсам мягко говоря маловастенько.

если хочется продолжать экзекуции над собой и проектом - могу посоветовать начать с установки nginx. полегчает.

традиционно могу посоветовать обратиться к Gor. у него вполне понятный хостинг (шаред), который отлично адаптирован под дру.

Аватар пользователя nukerster nukerster 4 марта 2010 в 21:37

Спасибо вам, добрые люди за советы!
Сегодня, кстати, связался с ХЦ по этому вопросу. Они меня временно перевели на другой тариф: проц. 2x800, 1024 RAM и всё стало работать намного бодрее. Я уж и с Devel Generat'ом поигрался и все модули разом повключал - и ничего! Всё нормально... Не выпадает в ошибки... Так что, видимо, раз уж руководству полюбился ХЦ, то надо будет тариф помощнее заказывать...

Аватар пользователя Azerot Azerot 6 марта 2010 в 21:12

Вы топик читаете или как?

Quote:
Ведь 512 мегабайт выделяется не PHP на котором работает Drupal а НА ВЕСЬ ваш VPS.

Аватар пользователя PinkRabbit PinkRabbit 6 марта 2010 в 23:03

Да, читал, что написано - понимаю.
Все равно я не вижу, куда может деться такое количество памяти.

Сайт только строится -> видимо, материала нет -> база не превышает 100 мб.
Или sql умеет жрать больше оперативки, чем имеет данных?
Или жадный apache столько ест?
Куда может деться такое количество памяти?
XP установили?

*ворчит*
Дай такую машину лет 40 назад - на ней бы и бомбу за несколько минут просчитали, и сотню бы спутников одновременно могли контролировать.
А сейчас на ней сайт не поднять. Прогресс!

Аватар пользователя Azerot Azerot 7 марта 2010 в 17:25

Quote:
Все равно я не вижу, куда может деться такое количество памяти.

Я объясню. MySQL жрет не меньше 200 метров. Наверное можно меньше, но тогда какая будет производительность, ведь надо буферы под кэш, временные таблицы, join, сортировку и т.д. Далее, один экзепляр apache с mod_php жрёт от 100 метров. Вот и считайте. 512 метров хватит только на MySQL и не более 2-3 экзепляров apache, ведь ещё должны работать и системные утилиты типа cron.

Аватар пользователя nukerster nukerster 8 марта 2010 в 17:24

И от меня спасибо Вам Azerot за объяснения. Но меня ещё вот что настораживает. Мне кажется дело не только в "малых мощностях". Постоянно происходит следующее: при возникновении проблем с нехваткой памяти не только сайт с Drupal'ом становится недоступным из-за ошибок вида "Out of memory (allocated ######) (tried to allocate ###### bytes)", но и вообще сервер "падает". Потом до тех пока не напишешь в тех. поддержку к серверу невозможно подключиться ни через ISP Manager, ни по FTP, ни через шелл. Я не думаю, что это именно Drupal с установленными Views, CCK и Devel способен отправить сервер в аут... Настройки VPS все по-умолчанию, ничего особо я не менял (ещё бы знать как). Потом в тех.поддержке там что-то шаманят и всё работает снова до первого "Out of memory"... В чём же может быть такая проблема? Может в настройках сервера? Но опять же, оговорюсь, что при переводе на тариф VPS-2 (2x800, 1024 RAM) проблем не было вообще никаких! Тогда совершенно непонятно КАК возможно это:

"RxB" wrote:
Опубликовано RxB в вс, 07/03/2010 - 01:12.Новое
Сам около года использовал VPS-1 от hc, проблем не было, два сайта + торренто-качалка + качалка с обменников + всякий стафф

??? В общем, я в полном недоумении...

Аватар пользователя Azerot Azerot 8 марта 2010 в 19:56

Опять же ничего удивительного. Судя по тому, что вы, nukerster, писали, там VPS на OpenVZ. Ручек там много, но огорчу со стороны хостера, а не с вашей. Но что происходит в общем-то понятно. Когда кончается память в виртуальном контейнере и исчерпывается свопп, контейнер просто тупо падает! И это не в контейнере дело - обычный аппаратный сервер тоже бы упал. А вот хостер после падения контейнера обязан был бы эту ситуацию отследить и запустить контейнер заново, но судя по тому что вы пишите про доступ - они этого не делают. Скорее всего потому что у хостера нет инструментов диагностирования данной проблемы. Когда памяти достаточно, ничего такого не происходит, контейнер работает, не падает и всё в шоколаде.

Аватар пользователя RockStar RockStar 18 марта 2010 в 18:51

top - 18:45:19 up 18 days, 21:45, 1 user, load average: 9.50, 5.67, 3.61
Tasks: 67 total, 5 running, 62 sleeping, 0 stopped, 0 zombie
Cpu(s): 82.7%us, 9.2%sy, 0.0%ni, 7.7%id, 0.4%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1048576k total, 848372k used, 200204k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached