|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
Привет Написал прогу (C#), работает как фоновый процесс, окон нет. Раз в минуту проверяет файл на диске на наличие новых записей. Так вот при старте процесс потреблял около 3600 КБ памяти. Во время работы в течение суток потребление выросло под 9000 КБ и выше не поднималось. Уже несколько суток наблюдаю его в диспетчере задач винды, больше 10000 КБ не поднимается. Из-за чего такое может быть? Не похоже что это нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 11:44 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortisПривет Уже несколько суток наблюдаю его в диспетчере задач винды, больше 10000 КБ не поднимается. 10мб? Это ниочем ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 11:51 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
Дело не в объёме, а в динамике. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 11:57 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
Пути фрамеворка неисповедимы. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 12:04 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortisне поднимаетсяну как, пару дней, ты можешь и в палатке пожить... ежели на месяц - тут желательно хотя бы комнату или квартиру... в общем более-менее комфортно хочется расположиться... но вряд ли через год тебе потребуется многоэтажка (согласно динамике) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 12:07 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortisПривет Написал прогу (C#), работает как фоновый процесс, окон нет. Раз в минуту проверяет файл на диске на наличие новых записей. Так вот при старте процесс потреблял около 3600 КБ памяти. Во время работы в течение суток потребление выросло под 9000 КБ и выше не поднималось. Уже несколько суток наблюдаю его в диспетчере задач винды, больше 10000 КБ не поднимается. Из-за чего такое может быть? Не похоже что это нормально. 14 дней можно юзить честно полный функционал http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/ ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 12:38 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortis, это нормально. Каждому процессу резервируется некоторое количество памяти про запас. Она так и будет числиться за процессом, даже если реально не нужна. Как только в системе станет не хватать памяти, ОС пнёт CLR, тот начнёт пинать сборщик мусора и через какое-то время незанятая память освободится. Можно и вручную уменьшить working set. Google it. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 12:44 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortis, Когда в определенном поколении не хватает памяти, среда запрашивает у ОС еще. И так пока не станет хватать памяти или OutOfMemoryException. Последняя на 64 разрядных платформах встречается реже. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 13:48 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
Это понятно всё. Но у меня там всего лишь чтение файла с диска в цикле. По факту это работает и с 3600 КБ и с 10000 КБ одинаково. Если работает с 3600 то почему увеличивается до 10000? Сборщику мусора вполне хватит времени в течении паузы между циклами - 60 сек. - убрать всё лишнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 14:49 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 14:54 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortisДело не в объёме, а в динамике. И какова динамика? Пока вижу "несколько суток" и 10 Мб. Это не динамика, это конечный результат измерения. Причем, очень даже приемлемый. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 14:56 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
640 KB хватит ВСЕМ! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 14:59 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
a_voronin Код: c# 1. 2.
Не надо так делать. Во-первых, нужна реальная картинка - а именно динамика, скажем, за неделю. В разрезе каждого дня. Во-вторых, нужно искать учетку, если она имеется. Все эти пляски с GC от лукавого и до добра не доводят. Проблемы нужно локализовывать, а не накладывать постоянно лейкопластырь. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 14:59 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
МСУнужно искать утечку ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:00 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortisСборщику мусора вполне хватит времени в течении паузы между циклами - 60 сек. - убрать всё лишнее. С чего ты решил, что сборщик мусора будет срабатывать в паузах между циклами? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:03 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
А с чего ты решил что нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:05 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortisА с чего ты решил что нет? А с чего ты решил, что да? Ты документацию когда последний раз открывал? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:06 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
Понятно, дальше не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:10 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
Согласен. Иногда лучше изучить доки и понять, как работает коллектор, чтобы продолжать дискуссию. Приходи позже, сейчас без вариантов ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:14 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
rigorMortisА с чего ты решил что нет? Сборщик мусора ленив и не заработает, пока будет хватать в куче памяти или пока петух программист не клюнет будет дергать методы GC. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 15:34 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
МСУa_voronin Код: c# 1. 2.
Не надо так делать. Во-первых, нужна реальная картинка - а именно динамика, скажем, за неделю. В разрезе каждого дня. Во-вторых, нужно искать учетку, если она имеется. Все эти пляски с GC от лукавого и до добра не доводят. Проблемы нужно локализовывать, а не накладывать постоянно лейкопластырь. Утечку на .NET? Вы батенька что-то попутали. Это не C++. Мне кажется вам надо перечитать, как работает распределение памяти в .NET, и вот это решит проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 21:20 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
a_voroninУтечку на .NET? Вы батенька что-то попутали. Это не C++. Нет, батенька, это вы что-то попутали. https://msdn.microsoft.com/ru-ru/magazine/cc163491.aspx Обнаружение и предотвращение утечек памяти в управляемом коде Понятие об утечках памяти в управляемых приложениях. Использование неуправляемой памяти в приложениях .NET. Помощь сборщику мусора .NET в его работе. После прочтения материала продолжим разговор. А пока - учить матчасть. Твой уровень школьника мне не интересен :) a_voroninМне кажется вам надо перечитать, как работает распределение памяти в .NET, и вот это решит проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 21:23 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
a_voronin, а вот тут (для таких как ты) я запилил рецепт http://codearticles.ru/articles/1448 в котором говорится, что "никогда не вызывайте сборщик мусора и не вмешивайтесь в его работу". Ну только если ты не решил запилить свой коллектор и составить конкуренцию MS ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 21:29 |
|
Поедание памяти процессом.
|
|||
---|---|---|---|
#18+
Самое ценное в статье Ковача - это заключение. https://msdn.microsoft.com/ru-ru/magazine/cc163491.aspx Заключение: В настоящей статье рассматриваются различные проблемы, которые возникают в приложениях .NET и могут стать причиной утечек памяти или чрезмерного потребления памяти. Конечно, .NET в большой мере избавляет от забот о памяти, но чтобы быть уверенными, что приложение работает правильно и эффективно, нужно внимательно следить за тем, как оно использует память. Тот факт, что приложение является управляемым, не означает, что нужно выбросить и забыть профессиональные навыки и накопленный опыт разработки и отладки программных систем, полностью положиться на сборщик мусора и ждать, что он сотворит чудеса . Разрабатывая и отлаживая приложение, нужно постоянно следить за значениями счетчиков, которые характеризуют эффективность использования памяти. Так что, a_voronin, самое время для изучения .NET :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 21:37 |
|
|
start [/forum/topic.php?fid=20&fpage=91&tid=1401777]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 450ms |
0 / 0 |