parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

очень странное поедание памяти Парсером

agat 27.10.2006 16:25

У хостера стоит ограничение на память под процесс - 5% от общей. Лог парсера говорит
[Fri Oct 27 13:20:15 2006] [1241] out of memory: failed to allocate clean 92445952 bytes. heap_used=99958784, heap_free=1732608, bytes_since_gc=93283032, total_bytes=194163232
Решил замерять память методом из доки
Рекомендуемый способ анализа 
Временно добавьте вызовы… 
^musage[before XXX] 
^musage[after XXX] 

…вокруг интересующего вас блока вот этого метода… 

@musage[comment][v;now;prefix;message;line] 
$v[$status:memory] 
$now[^date::now[]] 
$prefix[[^now.sql-string[]] $env:REMOTE_ADDR: $comment] 
$message[$v.used $v.free $v.ever_allocated_since_compact $v.ever_allocated_since_start $request:uri] 
$line[$prefix $message ^#0A] 
^line.save[append;/musage.log] 
$result[] 

…и проанализируйте журнал. 
Проанализировал. Получил
[2006-10-27 15:11:05] 217.117.75.226: before thumb 4980 468 1.47656 7931.81 /adm/articles/?aid=3752 
[2006-10-27 15:11:05] 217.117.75.226: after thumb 95260 596 0.976562 98223 /adm/articles/?aid=3752 
Разницу видите? а знаете что делает код от ДО до ПОСЛЕ? Вот :
^musage[before thumb]
			^try{
				$thumb[^image::measure[/media/$article.id/thumb.jpg]]
				^thumb.html[
					$.align[left]
					$.hspace[10]
					$.vspace[5]
				]
			}{
				$exception.handled(1)
			}
			$thumb[]
			^memory:compact[]
			^musage[after thumb]
Прикольно, да? На жпегах жрать 100 мегов.

Померял на нескольких фотках, а заметил, что парсер загинается на фотках снятых Фотоаппаратом. Где-то я слышал про EXIF инфу. Может это из-за нее? Проанализировал фотки в фотошопе - с фотика фотки сожержат очень много инфы, которой нет в обчных фотках из нэта. Как быть? Может кто тут разбирается в графике - подскажите плиз.

Хостер говорит, что мол увеличить не могу - покупай виртуальный сервер, но и там всего лишь 512 РАМа.