Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Out of memory! Как найти ошибку? 
:(
    Опции темы
Spider2
Дата 25.3.2007, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.3.2007

Репутация: нет
Всего: нет



Замучила ошибка Out of memory. Появляется при неопределенных условиях, по крайней мере я сам на нее никогда не попадал, но в логах видно, что она имеет место. Хостер утверждает, что я ему кладу сервер и отключает меня от cgi-bin. Система на хосте-  freebsd. При этом эта прога работает на других хостах и там такого не наблюдается. Ошибка, наверное есть, но другие системы ее переваривают.
прога довольно обьемная, но никаких больших обработок там нет, обычная гостевая книга.
Подскажите, как локализовать ошибку. буду очень благодарен.
PM MAIL   Вверх
nitr
Дата 25.3.2007, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 12
Всего: 84



Spider2, просто слова Out of memory ? smile
Если да, то лучше выложить хотя бы часть кода вашей гост. книги, думаю всё в ней, а на других хостах работает, ну может выделяется больше памяти, чем на данном...



--------------------
PM   Вверх
Zuzu
Дата 27.3.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 1
Всего: 4



Как вылавливать? Смотреть, кто сгенерил ошибку.

Могу предложить только тупой вариант - поставить код типа такого в каждый метод (процедуру) или, по крайней мере, что-то подобное в каждый package - чтобы по команде use писал в error.log

Может кто что интереснее предложит?

Код

my $debug = 1;        
warn ((caller 0)[3] . ": Entering... \n") if ($debug);


Вообще, спроси у хостера, какие лимиты по объему занимаемой памяти есть у твоего скрипта. Обычно они эту информацию не скрывают. smile

Обрабатываешь ли картинки? Ставишь ли LIMIT в запросах к MySQL (можно при ошибке в запросе радостно получить в результате запроса пару-тройку миллионов записей даже при небольшой базе данных - все они будут в оперативной памяти smile )? Есть ли "большие" переменные в памяти - может ты их просто не освобождаешь вовремя - много чего может быть.

У меня как-то раз скрипт (с Image::Magick) "отгреб" около 70 Mb для обработки картинки 5-6 Mpix. Лимит памяти был 16 Mb, пришлось (с помощью системного администратора) увеличить до 128.

P.S. При аккуратной настройке сервера лимиты сервера, вернее факт выхода за их пределы и связанное с этим "падение" сервера - это проблемы не программиста, а системного администратора  хостера. Сервер просто тебе должен сказать "Out of memory" и не упасть. Так что не заморачивайся проблемой падения сервера.

--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
nitr
Дата 27.3.2007, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 12
Всего: 84



Цитата(Zuzu @  27.3.2007,  12:05 Найти цитируемый пост)
Может кто что интереснее предложит?

можно написать скрипт, который поставит твои строки в испол. модули smile)


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0861 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.