Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2015, 09:40   #11
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Вы просто ничего не понимаете в управлении памятью в .net.
Можете расслабиться, утечек нет
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 16.09.2015, 11:35   #12
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Может быть, я ничего не понимаю, но дело в том что программа работает круглосуточно с непрерывным получением сообщений, около 3-4 миллион в день.
При таком раскладе когда растет память которую я вижу в TASK менеджере производительность приложения падает, при том память растет и растет и не высвобождается.
Я упростил приложение по максимум, оно только принимает сообщение и записывает его в базу и с каждой минутой я уже не могу принять большое количество сообщений с ростом памяти.
Если на первых минутах я обрабатываю все быстро, то по истечению времени все становиться медленнее.

http://prntscr.com/8gwov7

На скриншоте видно как количество записей в базе становиться меньше и за 45 минут приложение выделило для себя уже 1.7к памяти и продолжает выделять.

Последний раз редактировалось coNsept; 16.09.2015 в 11:52.
coNsept вне форума Ответить с цитированием
Старый 16.09.2015, 12:07   #13
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

GC.Collect() к какому результату привел?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 16.09.2015, 12:12   #14
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

с GC.Collect приложение иногда просто падает, не часто но такое было несколько раз.

з.ы. А с каким промежутком вообще вызывать GC.Collect?

Последний раз редактировалось coNsept; 16.09.2015 в 12:14.
coNsept вне форума Ответить с цитированием
Старый 16.09.2015, 12:14   #15
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Вы же его не в цикле вызывали, а только 2 раза подряд, когда приложение уже отъело ~1.5гб памяти, ага?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 16.09.2015, 12:14   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
программа работает круглосуточно
В полночь запускай сборку мусора
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2015, 12:16   #17
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В полночь запускай сборку мусора
Сборка мусора сама себя запустит, когда .net посчитает это необходимым (а пока приложение постоянно сильно занято, и объем свободной оперативной памяти достаточно велик .net вряд ли станет расходовать процессорное время на сборку мусора).
ТС по ходу просто тысячи объектов в секунду в цикле создает, а потом удивляется "куда делась вся память".
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 16.09.2015, 12:19   #18
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Я не в цикле создаю тысячу объектов .
Есть некое событие и оно в секунду вызывается около 300-400 раз.
При каждом вызове я входящие данные записываю в базу, это все что я делаю.
coNsept вне форума Ответить с цитированием
Старый 16.09.2015, 12:47   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от coNsept Посмотреть сообщение
Я не в цикле создаю тысячу объектов .
Есть некое событие и оно в секунду вызывается около 300-400 раз.
При каждом вызове я входящие данные записываю в базу, это все что я делаю.
лямбды у вас там есть? каждая лямбда ведет к объекту.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.09.2015, 12:49   #20
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

код в студию (новый, на ado)
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
утечка памяти polin11 Общие вопросы C/C++ 10 18.08.2015 18:12
Утечка памяти Juffin Общие вопросы Delphi 3 02.11.2010 12:11
Анимация (большая Нагрузка на процессор) BuT@JL Мультимедиа в Delphi 6 24.08.2009 09:43
Преобразование типов - большая нагрузка на ЦП ArtUrlWWW Общие вопросы .NET 1 19.05.2009 14:41
утечка памяти в С++ vengo Общие вопросы C/C++ 9 10.06.2008 21:24