powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поедание памяти процессом.
60 сообщений из 60, показаны все 3 страниц
Поедание памяти процессом.
    #38908062
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет
Написал прогу (C#), работает как фоновый процесс, окон нет. Раз в минуту проверяет файл на диске на наличие новых записей. Так вот при старте процесс потреблял около 3600 КБ памяти. Во время работы в течение суток потребление выросло под 9000 КБ и выше не поднималось. Уже несколько суток наблюдаю его в диспетчере задач винды, больше 10000 КБ не поднимается. Из-за чего такое может быть? Не похоже что это нормально.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908074
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisПривет
Уже несколько суток наблюдаю его в диспетчере задач винды, больше 10000 КБ не поднимается.

10мб? Это ниочем
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908094
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело не в объёме, а в динамике.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908113
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пути фрамеворка неисповедимы.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908122
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisне поднимаетсяну как, пару дней, ты можешь и в палатке пожить...
ежели на месяц - тут желательно хотя бы комнату или квартиру... в общем более-менее комфортно хочется расположиться...
но вряд ли через год тебе потребуется многоэтажка (согласно динамике)
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908198
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisПривет
Написал прогу (C#), работает как фоновый процесс, окон нет. Раз в минуту проверяет файл на диске на наличие новых записей. Так вот при старте процесс потреблял около 3600 КБ памяти. Во время работы в течение суток потребление выросло под 9000 КБ и выше не поднималось. Уже несколько суток наблюдаю его в диспетчере задач винды, больше 10000 КБ не поднимается. Из-за чего такое может быть? Не похоже что это нормально.

14 дней можно юзить честно полный функционал

http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908210
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortis,

это нормально. Каждому процессу резервируется некоторое количество памяти про запас. Она так и будет числиться за процессом, даже если реально не нужна. Как только в системе станет не хватать памяти, ОС пнёт CLR, тот начнёт пинать сборщик мусора и через какое-то время незанятая память освободится.
Можно и вручную уменьшить working set. Google it.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908341
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortis,
Когда в определенном поколении не хватает памяти, среда запрашивает у ОС еще. И так пока не станет хватать памяти или OutOfMemoryException. Последняя на 64 разрядных платформах встречается реже.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908482
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понятно всё. Но у меня там всего лишь чтение файла с диска в цикле. По факту это работает и с 3600 КБ и с 10000 КБ одинаково. Если работает с 3600 то почему увеличивается до 10000? Сборщику мусора вполне хватит времени в течении паузы между циклами - 60 сек. - убрать всё лишнее.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908494
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
GC.Collect(GC.MaxGeneration);
GC.WaitForPendingFinalizers();
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908503
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisДело не в объёме, а в динамике.
И какова динамика? Пока вижу "несколько суток" и 10 Мб. Это не динамика, это конечный результат измерения. Причем, очень даже приемлемый.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908513
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
640 KB хватит ВСЕМ!
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908515
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Код: c#
1.
2.
GC.Collect(GC.MaxGeneration);
GC.WaitForPendingFinalizers();


Не надо так делать. Во-первых, нужна реальная картинка - а именно динамика, скажем, за неделю. В разрезе каждого дня. Во-вторых, нужно искать учетку, если она имеется. Все эти пляски с GC от лукавого и до добра не доводят. Проблемы нужно локализовывать, а не накладывать постоянно лейкопластырь.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908516
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУнужно искать утечку
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908524
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisСборщику мусора вполне хватит времени в течении паузы между циклами - 60 сек. - убрать всё лишнее.

С чего ты решил, что сборщик мусора будет срабатывать в паузах между циклами?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908530
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А с чего ты решил что нет?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908533
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisА с чего ты решил что нет?
А с чего ты решил, что да? Ты документацию когда последний раз открывал?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908540
rigorMortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно, дальше не надо.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908553
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен. Иногда лучше изучить доки и понять, как работает коллектор, чтобы продолжать дискуссию. Приходи позже, сейчас без вариантов
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908584
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigorMortisА с чего ты решил что нет?
Сборщик мусора ленив и не заработает, пока будет хватать в куче памяти или пока петух программист не клюнет будет дергать методы GC.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38908650
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38909080
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУa_voronin
Код: c#
1.
2.
GC.Collect(GC.MaxGeneration);
GC.WaitForPendingFinalizers();


Не надо так делать. Во-первых, нужна реальная картинка - а именно динамика, скажем, за неделю. В разрезе каждого дня. Во-вторых, нужно искать учетку, если она имеется. Все эти пляски с GC от лукавого и до добра не доводят. Проблемы нужно локализовывать, а не накладывать постоянно лейкопластырь.

Утечку на .NET? Вы батенька что-то попутали. Это не C++.
Мне кажется вам надо перечитать, как работает распределение памяти в .NET, и вот это решит проблемы.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38909086
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninУтечку на .NET? Вы батенька что-то попутали. Это не C++.
Нет, батенька, это вы что-то попутали.

https://msdn.microsoft.com/ru-ru/magazine/cc163491.aspx Обнаружение и предотвращение утечек памяти в управляемом коде

Понятие об утечках памяти в управляемых приложениях.

Использование неуправляемой памяти в приложениях .NET.

Помощь сборщику мусора .NET в его работе.



После прочтения материала продолжим разговор. А пока - учить матчасть. Твой уровень школьника мне не интересен :)

a_voroninМне кажется вам надо перечитать, как работает распределение памяти в .NET, и вот это решит проблемы.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38909090
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin, а вот тут (для таких как ты) я запилил рецепт http://codearticles.ru/articles/1448 в котором говорится, что "никогда не вызывайте сборщик мусора и не вмешивайтесь в его работу". Ну только если ты не решил запилить свой коллектор и составить конкуренцию MS
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38909096
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое ценное в статье Ковача - это заключение.

https://msdn.microsoft.com/ru-ru/magazine/cc163491.aspx Заключение: В настоящей статье рассматриваются различные проблемы, которые возникают в приложениях .NET и могут стать причиной утечек памяти или чрезмерного потребления памяти. Конечно, .NET в большой мере избавляет от забот о памяти, но чтобы быть уверенными, что приложение работает правильно и эффективно, нужно внимательно следить за тем, как оно использует память. Тот факт, что приложение является управляемым, не означает, что нужно выбросить и забыть профессиональные навыки и накопленный опыт разработки и отладки программных систем, полностью положиться на сборщик мусора и ждать, что он сотворит чудеса . Разрабатывая и отлаживая приложение, нужно постоянно следить за значениями счетчиков, которые характеризуют эффективность использования памяти.


Так что, a_voronin, самое время для изучения .NET :)
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38909119
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

никогда не говори никогда
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38909125
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилМСУ, никогда не говори никогда
На своей памяти помню только одно применение с подзним связыванием на офисном интеропе (которому место на помойке), ну ты понял, о чем я :) Больше в жизни не встречал ситуации, когда нужно это явно делать.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910086
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСамое ценное в статье Ковача - это заключение.

https://msdn.microsoft.com/ru-ru/magazine/cc163491.aspx Заключение: В настоящей статье рассматриваются различные проблемы, которые возникают в приложениях .NET и могут стать причиной утечек памяти или чрезмерного потребления памяти. Конечно, .NET в большой мере избавляет от забот о памяти, но чтобы быть уверенными, что приложение работает правильно и эффективно, нужно внимательно следить за тем, как оно использует память. Тот факт, что приложение является управляемым, не означает, что нужно выбросить и забыть профессиональные навыки и накопленный опыт разработки и отладки программных систем, полностью положиться на сборщик мусора и ждать, что он сотворит чудеса . Разрабатывая и отлаживая приложение, нужно постоянно следить за значениями счетчиков, которые характеризуют эффективность использования памяти.


Так что, a_voronin, самое время для изучения .NET :)

Боюсь, что на .NET я программировал уже слишком долго с первой версии ещё. GC.Collect использовал в боевом коде, использовал не раз, знаю результат. То, что кто-то написал, что сборщик мусора не надо вызывать, это его личное мнение, которое я лично проигнорирую.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910091
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninБоюсь, что на .NET я программировал уже слишком долго с первой версии ещё. GC.Collect использовал в боевом коде, использовал не раз, знаю результат. То, что кто-то написал, что сборщик мусора не надо вызывать, это его личное мнение, которое я лично проигнорирую.
Боюсь, что ты просто облажался и тебе откровенно стыдно это признать. Остальные сопли по поводу твоего "долголетнего опыта" оставлю без комментариев.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910162
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУa_voroninБоюсь, что на .NET я программировал уже слишком долго с первой версии ещё. GC.Collect использовал в боевом коде, использовал не раз, знаю результат. То, что кто-то написал, что сборщик мусора не надо вызывать, это его личное мнение, которое я лично проигнорирую.
Боюсь, что ты просто облажался и тебе откровенно стыдно это признать. Остальные сопли по поводу твоего "долголетнего опыта" оставлю без комментариев.

Боюсь, что я написал хороший качественный код, который уже 8 лет используется на американском сайте международного уровня с высоким доступом и он бы до сих пор валился без GC.Collect. А ты можешь дальше носиться с идеей о том, что сборку мусора принудительно вызывать не надо. До свиданья. Я таких как ты на собеседованиях сразу заворачиваю.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910192
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninБоюсь, что я написал хороший качественный код, который уже 8 лет используется на американском сайте международного уровня с высоким доступом и он бы до сих пор валился без GC.Collect.
Я не могу судить о качестве твоего кода, который уже 8 лет используется на американском сайте международного уровня с высоким доступом. Потому что у меня нет этого кода. Но я могу судить о твоих знаниях, особенно когда вижу удивление о том, что в .NET якобы не могут быть утечек. Твой перформанс про

a_voroninУтечку на .NET? Вы батенька что-то попутали. Это не C++

вообще заслуживает отдельного респекта. С такими ляпами тебе не то, что качественный код для пиндосов писать, тебе даже в цирке места не найдется.

Поэтому, прежде чем ляпнуть какую-то глупость, подумай. Это так, на будущее дружеский совет.

a_voroninА ты можешь дальше носиться с идеей о том, что сборку мусора принудительно вызывать не надо. До свиданья. Я таких как ты на собеседованиях сразу заворачиваю.
Я носиться никуда не буду. Я буду помнить о том, что не перевелись еще неофиты, которые думают, что в .NET утечек не бывает.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910200
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninЯ таких как ты на собеседованиях сразу заворачиваю.
Мне страшного представить проф пригодность компании, где человека с нулевыми знаниями по .NET допустили собеседовать разработчиков. Заверни лучше голову свою в ковёр, клоун
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910276
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУчто в .NET якобы не могут быть утечек. Твой перформанс про

a_voroninУтечку на .NET? Вы батенька что-то попутали. Это не C++

вообще заслуживает отдельного респекта. С такими ляпами тебе не то, что качественный код для пиндосов писать, тебе даже в цирке места не найдется.

Это оскорбление. С хамом больше общаться не буду.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910286
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninЭто оскорбление. С хамом больше общаться не буду.
Ты лучше бы не строил из себя девственницу, а честно признал, что был не прав. Профессионалы тоже иногда ошибаются, ничего тут страшного нет. Но ты продолжаешь включать дурака и лить крокодильи слёзы. Будь мужиком уже, в самом-то деле.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910289
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУa_voroninЯ таких как ты на собеседованиях сразу заворачиваю.
Мне страшного представить проф пригодность компании, где человека с нулевыми знаниями по .NET допустили собеседовать разработчиков. Заверни лучше голову свою в ковёр, клоун

Сначала ты придумал, что я что-то имел ввиду, потом сделал какие-то выводу о моём уровне, на основе того, что сам сообразил, теперь на основе этой своей выдумки хамишь. до свиданье господин воображалкин.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910294
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninСначала ты придумал, что я что-то имел ввиду, потом сделал какие-то выводу о моём уровне, на основе того, что сам сообразил, теперь на основе этой своей выдумки хамишь. до свиданье господин воображалкин.
Я придумал, что в .NET не бывает утечек? Я придумал, что .NET это не C++? Я начал хамски поучать перечитать, как работает распределение памяти в .NET? Я тебе дал ссылку и аргументировал твою неправоту. О каких выдумках ты тут вещаешь?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910309
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУa_voroninСначала ты придумал, что я что-то имел ввиду, потом сделал какие-то выводу о моём уровне, на основе того, что сам сообразил, теперь на основе этой своей выдумки хамишь. до свиданье господин воображалкин.
Я придумал, что в .NET не бывает утечек? Я придумал, что .NET это не C++? Я начал хамски поучать перечитать, как работает распределение памяти в .NET? Я тебе дал ссылку и аргументировал твою неправоту. О каких выдумках ты тут вещаешь?

Ну то, что распределение памяти на C++ и NET отличается ты, я надеюсь, отрицать не будешь. То, что память не подлежит сборке на .NET, пока на неё есть ссылка, ты тоже отрицать не будешь. То, что в MSDN есть пример использования GC.Collect ты тоже отрицать не будешь? https://msdn.microsoft.com/en-us/library/xe0c2357(v=vs.110).aspx

Теперь скажи мне, уважаемый разработчик, архитектор или кто ты. Вот ты лопатишь какие-то данные в цикле. Лопатишь долго. Читаешь файл, например, делаешь кучу операций со строками и записываешь в другой файл. Что будет происходить с памятью. Вот пройдёт 100000 витков этого цикла, а память накапливается. Тебе уже не нужны все эти строки и промежуточные значения, ты их записал в выходной файл. Но они висят в памяти. Как действовать? Какой тут сценарий без GC.Collect -- я внимательно послушаю?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910319
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninНу то, что распределение памяти на C++ и NET отличается ты, я надеюсь, отрицать не будешь. То, что память не подлежит сборке на .NET, пока на неё есть ссылка, ты тоже отрицать не будешь. То, что в MSDN есть пример использования GC.Collect ты тоже отрицать не будешь? https://msdn.microsoft.com/en-us/library/xe0c2357(v=vs.110).aspx
Речь не в отличиях распределения памяти. Есть такое понятие, как очистка неуправляемых ресурсов. Используй безопасный дескриптор в качестве оболочки для неуправляемого ресурса. Это рекомендуемая методика. Безопасные дескрипторы это наследники SafeHandle. GC.Collect не панацея, тебе выше уже сказали. Никто никаких гарантий не даст в управлении черным ящиком. Почему это так, я тебе дал ссылку на рецепт с подробным описанием.

a_voroninТеперь скажи мне, уважаемый разработчик, архитектор или кто ты. Вот ты лопатишь какие-то данные в цикле. Лопатишь долго. Читаешь файл, например, делаешь кучу операций со строками и записываешь в другой файл. Что будет происходить с памятью. Вот пройдёт 100000 витков этого цикла, а память накапливается. Тебе уже не нужны все эти строки и промежуточные значения, ты их записал в выходной файл. Но они висят в памяти. Как действовать? Какой тут сценарий без GC.Collect -- я внимательно послушаю?
Во-первых, откуда в цикле взялось накапливание? Ведь я могу читать ридером прямо из источника (соединение с БД, xml, http, порты, сокеты и так далее) мимо памяти. И сразу же свопить куда-то в базу. В результате, никакого оверхеда в виде накапливания. Память не засирается, процесс происходит чисто и без шума. Какой нахрен GC.Collect? С твоими архитектурами только кур смешить. И да, почитай, что такое no tracking фетч. Поможет.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910321
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот мнение, которое я лично поддерживаю.

http://stackoverflow.com/questions/233596/best-practice-for-forcing-garbage-collection-in-c-sharp

The best practise is to not force a garbage collection in most cases. (Every system I have worked on that had forced garbage collections, had underlining problems that if solved would have removed the need to forced the garbage collection, and speeded the system up greatly.)

There are a few cases when you know more about memory usage then the garbage collector does. This is unlikely to be true in a multi user application, or a service that is responding to more then one request at a time.

However in some batch type processing you do know more then the GC. E.g. consider an application that.

Is given a list of file names on the command line
Processes a single file then write the result out to a results file.
While processing the file, creates a lot of interlinked objects that can not be collected until the processing of the file have complete (e.g. a parse tree)
Does not keep match state between the files it has processed.
You may be able to make a case (after careful) testing that you should force a full garbage collection after you have process each file.

Another cases is a service that wakes up every few minutes to process some items, and does not keep any state while it’s asleep. Then forcing a full collection just before going to sleep may be worthwhile.

The only time I would consider forcing a collection is when I know that a lot of object had been created recently and very few objects are currently referenced.
I would rather have a garbage collection API when I could give it hints about this type of thing without having to force a GC my self.

See also "Rico Mariani's Performance Tidbits"
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910376
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВо-первых, откуда в цикле взялось накапливание? Ведь я могу читать ридером прямо из источника (соединение с БД, xml, http, порты, сокеты и так далее) мимо памяти. И сразу же свопить куда-то в базу. В результате, никакого оверхеда в виде накапливания. Память не засирается, процесс происходит чисто и без шума. Какой нахрен GC.Collect? С твоими архитектурами только кур смешить. И да, почитай, что такое no tracking фетч. Поможет.

Опять на личности переходишь и опять придумываешь то, чего нет.

Рассмотрим задачу, где данные не сохраняются как есть. Понятно, что из одного потока в другой направить, это не вопрос. Допустим надо не как есть сохранять, а что-то делать ещё с теми данными, которые иду по потоку. Считать, трансформировать. Но не накапливать.

Ситуация заключалась в том, что память приращивалась и приращивалась, хотя указатели на эти промежуточные объекты уже были сняты. Может быть сейчас .NET оптимизировали, но некоторое число лет назад это наблюдалось. Поэтому и требовался принудительный GC.Collect. Никакого проседания производительности, как многое кричат, не было. Но сборка мусора длилась до полсекунды. На фоне многоминутных обработок, это было ничто. И память освобождалась. То есть ситуация, когда неиспользуемые объекты зависали была и и без GC.Collect не освобождалась. Дело было ещё по IIS и на фоне другой нагрузки.

Вот и всё, что я хотел сказать.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910394
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Беспредметный спор. Использовать или нет деструкторы в классе зависит от задачи. Случается, но не так часто. Кода a_voronin'a мы не видели, так что... Но да, принудительная сборка мусора - скорее исключение чем правило.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910417
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninОпять на личности переходишь и опять придумываешь то, чего нет.
Что именно я придумываю? Ты сгенерил какой-то упоротый пример для ламеров и предлагаешь его по-ламерски решать. Ты из какого курятника вылез, начальник?

a_voroninРассмотрим задачу, где данные не сохраняются как есть. Понятно, что из одного потока в другой направить, это не вопрос. Допустим надо не как есть сохранять, а что-то делать ещё с теми данными, которые иду по потоку. Считать, трансформировать. Но не накапливать.
Ну считывай последовательно и трансформируй. Курсоры могут не только однонаправленные, если что. Память засирать вовсе не обязательно. А ты предлагаешь засрать всю память, а потом сделать чудо с помощью GC.Collect и радоваться? Уверяю, это удел кодирующих обезьян (code monkey), а не профессионала. Десятый раз повторяю, GC.Collect в 99.9% прикладных задач не нужен. Вообще не нужен.

a_voroninМожет быть сейчас .NET оптимизировали, но некоторое число лет назад это наблюдалось. Поэтому и требовался принудительный GC.Collect.
Никогда он не требовался, не фантазируй. Грамотный код и корректные алгоритмы всегда справлялись без этого magic подхода.

a_voroninВот и всё, что я хотел сказать.
Ты научись сначала с дотнетом работать прямыми руками, а там, глядишь, и GC.Collect не понадобится. Вообще не понадобится.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910645
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronБеспредметный спор.Полезный комментарий, спасибо.
А то уже собирался читать топик :)
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910743
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA Полезный комментарий, спасибо.
А то уже собирался читать топик :)
Тот редкий случай, когда МСУ полностью прав. Видимо затмение сказывается :)
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910794
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВТот редкий случай, когда МСУ полностью прав. Видимо затмение сказывается :)
А судьи-то кто? Школота и обезьянки? Спасибо, повеселил
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910890
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА судьи-то кто?
Экс-глава Минсельхоза Елена Скрынник.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910916
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЭкс-глава Минсельхоза Елена Скрынник.
Ну хоть не Андрей Киска.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910927
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANA Полезный комментарий, спасибо.
А то уже собирался читать топик :)
Тот редкий случай, когда МСУ полностью прав. Видимо затмение сказывается :)

Прибежали поддакиватели. Для начала надо не быть столь откровенным хамом. Такой человек может и знает многое, но в коллективе он опасен, поскольку от его демонстрации превосходства начнут уходить те, кто делает работу, а будет ли он делать работу еще большой вопрос.

И я не надо быть столь наивным, чтобы считать, что он всегда прав. Вот это тоже считаете бредом, например? 9372672
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38910995
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninДля начала надо не быть столь откровенным хамом.
Это ты про свой ответ 17402256 на счет того, что я попутал и что мне надо перечитать, как работает распределение памяти? Забавно.

a_voroninТакой человек может и знает многое, но в коллективе он опасен, поскольку от его демонстрации превосходства начнут уходить те, кто делает работу, а будет ли он делать работу еще большой вопрос.
Тебя понесло не в ту степь, начальник. Какое превосходство, какой коллектив? Если ты не умеешь общаться с людьми, не надо переваливать с больной головы на здоровую. Если бы ты уважительно задал вопрос, а не стал выё..ться, я бы тебе уважительно ответил, как нормальному мужику. А когда ты по-хамски начал ерничать, а потом женские обиды кидать, а потом еще и идиотские кейсы приводить с переполнением памяти в цикле, так это вообще цирк. Вместо того, чтобы остановиться и осознать свою ошибку, ты начал дальше и глубже себя закапывать в яму. И где тут моя вина, начальничек?

a_voroninИ я не надо быть столь наивным, чтобы считать, что он всегда прав. Вот это тоже считаете бредом, например? 9372672
Давай по теме, начальник. Прав или не прав, какая разница. Будь проще.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911008
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДавай по теме, начальник. Прав или не прав, какая разница. Будь проще.

Да я-то попроще.
Поражает твоя мания "читать между строк", то есть вкладывать в слова смысл, которого в них нет. Вот интересно, где я сказал, что являюсь или был начальником?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911027
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninДа я-то попроще.
Как-то незаметно.

a_voroninПоражает твоя мания "читать между строк", то есть вкладывать в слова смысл, которого в них нет.
Поражает твоя мания защищаться, когда не прав. Сначала пыль в глаза пустил по поводу женских обид и крокодильих слёз, потом начал заднюю включать какими-то жалкими примерчиками с циклами, теперь вот меня обвиняешь во всех смертных. Виноват кто угодно, но только не я - вот твой подход.

a_voroninВот интересно, где я сказал, что являюсь или был начальником?
Я где-то сказал, что ты большой? Опять ты генеришь несуществующие кейсы.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911040
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУкакими-то жалкими примерчиками с циклами

Я попытался тебе показать, что есть особые ситуации, а ты говоришь нет и не может быть. В статье написано, что не может быть. Архитектура должна быть правильной. Ты воспринимаешь всё так, как будто я предлагаю всегда GC.Colltcy дергать. А я этого не предлагаю. Говорю, что есть лишь редкие ситуации, где это моет понадобиться.

А вот если тебе надо использовать код, который ты не писал и который не знаешь как написан, или еще хуже если есть приказ от очень тупого начальника -- там ничего не менять, потому что "нам за это не платили". Прочитал из потока, передал в плагин по интерфейсу, забрал результат, записал в поток. И вот у тебя память начинает выжираться. Вот как ты поступишь?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911120
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninМСУкакими-то жалкими примерчиками с циклами
Я попытался тебе показать, что есть особые ситуации, а ты говоришь нет и не может быть.
А я тебе ответил, что твои ситуации - это откровенная дурость. Нормальный разработчик никогда не будет писать во всю доступную память, просаживая все мыслимые и не мыслимые перформансы. Нормальный разработчик будет работать с такими данными только через ридеры и прочие no tracking алгоритмы, без оверхеда в память. Оверхед еще приемлем порциями от 0.2 - 0.5 Гб занимаемой памяти, но полностью всё засвопить в RAM и файл подкачки - это удел упоротых оленеводов.

a_voroninТы воспринимаешь всё так, как будто я предлагаю всегда GC.Colltcy дергать. А я этого не предлагаю. Говорю, что есть лишь редкие ситуации, где это моет понадобиться.
Я утверждаю, что GC.Collect вообще не нужно дергать. Кроме случаев, когда ты реализуешь свой коллектор. Использование GC.Collect говорит о том, что ты малопригодный программист, не понимающий как оно работает и почему так происходит. Таким недопрограммистам и приходится рассчитывать на магию черного ящика GC.Collect. Особенно забавит факт, что эти недопрограммисты уверяют других в том, что последние ничерта не понимают в распределении памяти Это вообще цирк!

a_voroninА вот если тебе надо использовать код, который ты не писал и который не знаешь как написан, или еще хуже если есть приказ от очень тупого начальника -- там ничего не менять, потому что "нам за это не платили". Прочитал из потока, передал в плагин по интерфейсу, забрал результат, записал в поток. И вот у тебя память начинает выжираться. Вот как ты поступишь?
Никак не поступлю. Не буду использовать стороннее гавно, которое положит набок наш продакшен сервер. И, слава Богу, я еще ни разу в жизни не встречал таких упоротых руководителей, которые "приказывали" использовать малонадёжное гавно, способное убить наши системы. Таким "начальникам" не место в IT. Им место где-нибудь в курятнике. Я так понимаю ты из таких начальников? Тогда всё ясно, дальше можешь не продолжать.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911154
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУa_voroninА вот если тебе надо использовать код, который ты не писал и который не знаешь как написан, или еще хуже если есть приказ от очень тупого начальника -- там ничего не менять, потому что "нам за это не платили". Прочитал из потока, передал в плагин по интерфейсу, забрал результат, записал в поток. И вот у тебя память начинает выжираться. Вот как ты поступишь?
Никак не поступлю. Не буду использовать стороннее гавно, которое положит набок наш продакшен сервер. И, слава Богу, я еще ни разу в жизни не встречал таких упоротых руководителей, которые "приказывали" использовать малонадёжное гавно, способное убить наши системы. Таким "начальникам" не место в IT. Им место где-нибудь в курятнике. Я так понимаю ты из таких начальников? Тогда всё ясно, дальше можешь не продолжать.

Вот тебя и не возьмут туда, где упоротые руководители платят большие бабки за подключение стороннего говна, потому что ты зациклился на своих идеальных решениях, которые заказчику неинтересны.

Ты всё записываешь меня в начальники. Тебе в писатели фантасты идти надо. Столько выдумок из тебя прёт.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911163
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninВот тебя и не возьмут туда, где упоротые руководители платят большие бабки за подключение стороннего говна, потому что ты зациклился на своих идеальных решениях, которые заказчику неинтересны.
Да, собственно, я и не пойду работать к идиотам. Нервы дороже, никаких в мире денег не хватит их восстановить. Ты до сих пор так ничего и не понял, это заметно по твоей "квалификации" из соседнего топика. Еще раз. Никто не требует идеальных решений. Но писать откровенное непродуманное дерьмо, которому место на свалке, нормальный программист не будет. Не путай теплое с мягким. "Не идеальное решение" и "откровенное дерьмо" - это 2 огромных разницы.

a_voroninТы всё записываешь меня в начальники. Тебе в писатели фантасты идти надо. Столько выдумок из тебя прёт.
Ну так ты ведь козырял давеча своей непоколебимой силой того, что можешь любого зарезать на собеседовании. Вот я тебе и прилепил маркер начальника. Если ты еще не понял (у тебя туго с воображением) - это вовсе не означает, что ты "руководитель" некой команды. Возможно тебе берут как "эксперта", но на эксперта ты не тянешь, это видно невооруженным глазом. Так, кодер ниже среднего, чего-то читал когда-то, чего-то писал когда-то. Максимум, доверил бы тебе web.config править.
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911167
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУa_voroninВот тебя и не возьмут туда, где упоротые руководители платят большие бабки за подключение стороннего говна, потому что ты зациклился на своих идеальных решениях, которые заказчику неинтересны.
Да, собственно, я и не пойду работать к идиотам. Нервы дороже, никаких в мире денег не хватит их восстановить. Ты до сих пор так ничего и не понял, это заметно по твоей "квалификации" из соседнего топика. Еще раз. Никто не требует идеальных решений. Но писать откровенное непродуманное дерьмо, которому место на свалке, нормальный программист не будет. Не путай теплое с мягким. "Не идеальное решение" и "откровенное дерьмо" - это 2 огромных разницы.

a_voroninТы всё записываешь меня в начальники. Тебе в писатели фантасты идти надо. Столько выдумок из тебя прёт.
Ну так ты ведь козырял давеча своей непоколебимой силой того, что можешь любого зарезать на собеседовании. Вот я тебе и прилепил маркер начальника. Если ты еще не понял (у тебя туго с воображением) - это вовсе не означает, что ты "руководитель" некой команды. Возможно тебе берут как "эксперта", но на эксперта ты не тянешь, это видно невооруженным глазом. Так, кодер ниже среднего, чего-то читал когда-то, чего-то писал когда-то. Максимум, доверил бы тебе web.config править.

ну и не ходи. А ты павлин ещё тот. Я правильно понял, что ты ту модератор, иначе забанили бы уже давно?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911181
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninну и не ходи. А ты павлин ещё тот.
Ну так и продолжай ковыряться в говне с упоротыми руководителями за "большие бабки". Только не надо выходить на форум и советовать людям откровенный кретинизм, от которого больше вреда, чем пользы. Да и беспонтовый пафос свой куда-нить в зад затолкай. А то смердящие ламеры на форумы нынче в новинку.

a_voroninЯ правильно понял, что ты ту модератор
Ты как всегда неправильно понимаешь.

a_voroninиначе забанили бы уже давно?
За что? За то, что столько лет учу уму разуму вот таких клоунов как ты?
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911184
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

может хватит уже сраться? ты же уже всё объяснил этому автору, зачем тельняшку то рвать? :)
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911196
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesМСУ,

может хватит уже сраться? ты же уже всё объяснил этому автору, зачем тельняшку то рвать? :)Есть простое правило: чтобы срач прекратился, последнее слово должно остаться за мусей )
...
Рейтинг: 0 / 0
Поедание памяти процессом.
    #38911467
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
rigorMortisТак вот при старте процесс потреблял около 3600 КБ памяти. Во время работы в течение суток потребление выросло



Не все модули откомпилировались сразу, не все библиотеки подключились, не для всех переменных выделилась память
...
Рейтинг: 0 / 0
60 сообщений из 60, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поедание памяти процессом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]