Page 1 of 1

Утечка памяти при транскодировании в память

Posted: Sun Jan 29, 2012 2:32 pm
by pushistic
Заметил странную особенность, если настроить транскодер на работу в памяти (чтобы не использовать дисковое кеширование) то рано или поздно память заканчивается и фильм начинает останавливаться. Детально: прогу использую как сервис, выделил 3 ГБ памяти, запустил серию одного сериала (транскодируется в 2 гб макс), серия проиграла и выделилось где-то 2 Гб памяти. потом запускаю следующую серию и память не освобождается. Скорее всего прога умно рулит памятью но рано или поздно приходиться сервер перезагружать.. потому, что фильм проиграет 5-10 сек и останавливается (как будто не хватает места для транскодирования). Вопрос к шарящим - "что я делаю не так"? уж сильно не хочется трахать диск.. он до дыр сотрется скоро :( тем более оперы хватает. Кстати еще интересная особенность в том, что более 2Гб не откушивает сервис, несмотря на то что стоит лимит 3 Гб.. может это ограничение win7 x64.. может еще что-то..

Re: Утечка памяти при транскодировании в память

Posted: Tue Jan 31, 2012 12:34 pm
by Alexander Great
32-ух битная программа в принципе не может захавать больше 2гб памяти, даже под 64-х битной ОС.

Re: Утечка памяти при транскодировании в память

Posted: Wed Feb 01, 2012 11:39 pm
by pushistic
Если не углубляться в детали адресации в 32 битных осях можно просто сказать что это частично правда. На самом деле можно и 3 Гб выжать, главное скомпилить с расширенной адресацией памяти и иногда подкрутить ОС в некоторых случаях. Но это была скорее мысль вслух.. увидеть x64 сервис... на самом деле меня больше беспокоит утечка, которая, как я понимаю идет на уровне декодеров..

Re: Утечка памяти при транскодировании в память

Posted: Thu Feb 02, 2012 1:08 pm
by Alexander Great
Попробуйте для начала сделать буффер скажем 128 мег, интересно что будет. Просто у меня с таким буффером вообще нету никаких проблем, а когда ставил сумасшедшие гигабайты, действительно глючило.