powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поедание памяти процессом.
25 сообщений из 60, страница 1 из 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
25 сообщений из 60, страница 1 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поедание памяти процессом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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