|
|
|
| Есть ли возможность отследить приближение к пределу выделеной для скрипта памяти и принять меры:
Либо
1. увеличить размер отводимой памяти,
2. сократить аппетиты скрипта
- в зависимости от ситуации. | |
|
|
|
|
|
|
|
для: Eugene77
(30.05.2012 в 05:45)
| | 1. увеличить размер отводимой памяти
только если хостер это Вы
2. сократить аппетиты скрипта
это должно соблюдаться не зависимо от расхода памяти.
скрипт должен быть написан так, что сокращать уже некуда. | |
|
|
|
|
|
|
|
для: Valick
(30.05.2012 в 09:10)
| | >1. увеличить размер отводимой памяти
>только если хостер это Вы
Да, пока скрипт у меня, размер некоторых массивов не хотелось бы ограничивать,
но иногда из-за роста этих массивов скрипт вываливатся с ошибкой переполнения отведённой памяти.
>2. сократить аппетиты скрипта
>это должно соблюдаться не зависимо от расхода памяти.
>скрипт должен быть написан так, что сокращать уже некуда.
Тогда страдает функциональность... Я как раз пытаюсь сейчас найти оптимум между функциональностью и минимумом потребления памяти, и ещё некоторыми моментами.
Точнее, ищу инструменты (функции PHP) которые позволяют сделать такую настройку скрипта. | |
|
|
|
|
|
|
|
для: Eugene77
(30.05.2012 в 09:33)
| | Тогда страдает функциональность...
когда страдает функциональность, значит что-то не так с логикой скрипта
__
опишите ситуацию, что за рост массивов? | |
|
|
|
|
|
|
|
для: Valick
(30.05.2012 в 09:52)
| | >опишите ситуацию, что за рост массивов?
_________
Это дело пустое - описывать логику - семь вёрст до небес и всё лесом :-)
Это самый сложный в моей жизни скрипт и самая длинная цепочка зависимых классов.
Искусственный интеллект на нейронных цепочках и их производных.
В начале принимаются решения, потом анализируются, рефлексируются, перестраивается структура сознания итп.
В частности, массив истории принятых решений может иногда раздуваться за пределы разумного размера. Но могут быть и другие причины, которые я не могу предугадать.
Лучше подскажите приёмы слежения за размером занятой (оставшейся памяти).
Ведь память не кончается скачком, а постепенно, в результате накопления некоторых сведений.
Дальше я уже сам разберусь смотря по ситуации. | |
|
|
|
|
|
|
|
для: Valick
(30.05.2012 в 09:52)
| | >опишите ситуацию, что за рост массивов?
________
Подчёркиваю: пока речь идёт об отладке.
В 95% случаев скрипт за пределы памяти не уходит.
На данном этапе я пытаюсь выяснить причины проблемы.
Тут много вариантов: возможна банальная ошибка в логике скрипта, возможно в самом деле при определённом стечении обстоятельств ему без увеличенного объёма памяти не справиться итд.
Мне надо отследить ситуацию приближения к пределу по памяти и вывести диагностическую информацию, чтобы разобраться. Пока это... Потом уже видно будет... | |
|
|
|
|
|
|
|
для: Valick
(30.05.2012 в 09:10)
| | 1. ini_set("memory_limit", "256M"); может сработать. Зависит от настроек серва. У заметного числа хостеров работает. | |
|
|
|
|
|
|
|
для: The Electronic Cat
(30.05.2012 в 10:52)
| | >1. ini_set("memory_limit", "256M"); может сработать. Зависит от настроек серва. У заметного числа хостеров работает.
Спасибо!
А как узнать о приближении к максимуму отведённой памяти? | |
|
|
|
|
|
|
|
для: Eugene77
(30.05.2012 в 11:32)
| | Наверное вам нужны declare и memory_get_usage. | |
|
|
|
|
|
|
|
для: confirm
(30.05.2012 в 12:00)
| | >Наверное вам нужны declare и memory_get_usage.
Да! declare(ticks) - это супер!
PHP - самый лучший язык! | |
|
|
|