Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
1 / 1 / 4
Регистрация: 20.10.2012
Сообщений: 130
1

Профилирование и поиск утечки памяти

13.06.2013, 15:16. Показов 3194. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа работает с большими массивами данных. При запуске занимает ОЗУ 130 Мб, но за день идет рост использования ОЗУ до 1Гб.
Уже 2 программами профилировал и они показывают использование ОЗУ 40-50 Мб, кто использует остальное и как это посмотреть?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2013, 15:16
Ответы с готовыми решениями:

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

Утечки памяти в приложении, связанные с ресурсами элементов
Я думаю не секрет, что часто бывают утечки памяти из-за того, что, например, в ресурсах кнопки,...

утечки памяти
есть обертка над неуправляемым кодом. если вызвать метод 1000 раз то отжирается 500 метров памяти....

Поиск утечки памяти
Здравствуйте! Не могли бы вы помочь мне найти утечку памяти в программе? Весь день искал, все...

2
176 / 93 / 10
Регистрация: 27.05.2013
Сообщений: 290
13.06.2013, 16:01 2
http://msdn.microsoft.com/ru-r... 63491.aspx
1
1 / 1 / 4
Регистрация: 20.10.2012
Сообщений: 130
13.06.2013, 16:57  [ТС] 3
Лучший ответ Сообщение было отмечено eugene7711 как решение

Решение

Есть подозрение, что у меня утечка в неуправляемой куче. Ошибка через сутки работы возникает в следующем коде
Выдано исключение типа "System.OutOfMemoryException".
C#
1
2
3
4
5
    if (CheckFT)
                {
                    Thread myThread1 = new Thread(() => MemoryMappedSignal(80, 40));
                    myThread1.Start();
                }
Вызываемая процедура имеет вид:

C#
1
2
3
4
5
6
7
8
9
10
  public void MemoryMappedSignal(float A)
        {
            MemoryMappedViewStream myMemoryMappedStream1 = MainWindow.OneMemoryMappedFile.CreateViewStream(Begin, CountCell, MemoryMappedFileAccess.ReadWrite);
            var bytes = BitConverter.GetBytes(ProcentMD);
 
 
            myMemoryMappedStream1.Write(bytes, 0, 4);
 
 
            myMemoryMappedStream1.Close();
И доступ к элементам MappedMemory происходит часто и разными потоками, может быть десятки и сотни раз в секунду. При этом к той же памяти обращается программа на C++ для чтения также часто.
И вот как организуется очередь доступа к этой памяти и что происходит с потоками, которым не удалось вовремя отработать?
Может накапливаются открытые и непрерванные потоки? Для иеня это темный лес.
0
13.06.2013, 16:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2013, 16:57
Помогаю со студенческими работами здесь

Поиск утечки памяти
Доброго времени суток. Помогите поймать утечку. Суть - при многократном нажатии на кнопку, память,...

Утечки памяти без выделения памяти?
Человек использует _CrtDumpMemoryLeaks() для отлова утечек, и обратился ко мне в сязи с тем, что...

Рекомендации по оптимизации/ускорению кода и памяти, разбор ключей, профилирование приложений в VS и не только
Вечер добрый форум, у меня на данный момент VS2010. Я так понимаю настройки сохраняется только для...

Утечки памяти?
Который раз натыкаюсь (то в книгах, то в статьях) на упоминания того, что нужно бороться с утечками...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru