Re[2]: Жор памяти
От: Silent_Sky Россия http://www.rsdn.ru/tools/member.aspx?id=
Дата: 09.04.04 12:30
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

iT>2. Выяснилось (спасибо хорошей утильке под названием .net memory profiler), что основной объем памяти отжирает некий System.DirectoryServices.Interop.AdsValueHelper. действительно, прога регулярно обращается к AD, но при этом я делаю using для всего, что шевелится.. тьфу.. для всего, что IDisposable..



Млин, ткните носом меня как пользоваться этой "утильке под названием .net memory profiler" .... скачать скачал, как юзать — не въеду
Когда-нибудь и я буду много знать, но пока это не грозит...
ICQ #134433
Re[3]: Жор памяти
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 09.04.04 15:03
Оценка:
Здравствуйте, Silent_Sky, Вы писали:


S_S>Млин, ткните носом меня как пользоваться этой "утильке под названием .net memory profiler" .... скачать скачал, как юзать — не въеду

http://www.microsoft.com/rus/msdn/magazine/archive/2003-01/full_projection.asp
... << RSDN@Home 1.1.0 stable >>
и солнце б утром не вставало, когда бы не было меня
Re[2]: Жор памяти
От: Dovgan  
Дата: 31.03.09 14:03
Оценка: :)
Здравствуйте, Igor Trofimov, Вы писали:

iT>В общем, если кому интересно, вынес я работу с AD в отдельный AppDomain и все стало шоколадно. Поработал — грохнул. Поработал — грохнул.


iT>На досуге надо будет еще проверить на маленьком тесте — действительно ли любое использование AD блокирует сборку мусора или это у меня какое-то особо неприятное стечение обстоятельств было.



Меня тоже посетила эта мысль, но почему-то не помогло. Допускаю, что я по неопытности мог что-то не так сделать с AppDomain, но память из него у меня тоже течет. Мне бы примерчик...
Re[4]: Жор памяти
От: ili Россия  
Дата: 31.03.09 14:15
Оценка:
Здравствуйте, Michael Chelnokov, Вы писали:

MC>Извиняюсь, забыл дописать "... находясь в здравом уме и твердой памяти"


запросто!

public class TestObject
{
    public static Instanse = new TestObject();
    //....
    public event Handler SomeEvent;
    //....
}

public class TestObject2
{
    public void Handler();
}

public void Test()
{
    TestObject2 to = new TestObject2();

    TestObject.SomeEvent += to.Handler; //все, утечка :) TestObject.Instanse  стал для to корнем, и to благополучно тусит в Gen 2 по гроб жизни, отписаться надо :)
}
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.