Конференция "Основная" » отловить разрастание памяти
 
  • Cobalt © (21.11.17 18:39) [0]
    В процессе работы у одного клиента растет занимаемая память.
    Через 4-8 дней  получает ошибку OutOfMemory

    Ситуация осложняется тем, что в работе используются посторонние DLL (Сбербанк, например)

    Вопрос: Как отловить "лишнюю занятую" память? Хотя бы свою.

    ReportMemoryLeak дает одну единственную утечку ХЗ где-то в WindowProc на 8-12 байт, и всё.
    Значит, где-то в список какой пихаются данные, которые освобождаются только при закрытии приложения. Списков таких немного, можно отслеживать.

    А может где-то контролы не удалятся, а только прячутся.

    Как отлавливать такое, порекомендуйте.
  • Германн © (22.11.17 02:51) [1]
    И Эврика тоже не помогает?
  • Eraser © (24.11.17 06:06) [2]

    > Cobalt ©   (21.11.17 18:39) 
    > В процессе работы у одного клиента растет занимаемая память.
    >
    > Через 4-8 дней  получает ошибку OutOfMemory

    только у одного?
    тогда нужно отследить, чем его система или работа с ПО отличается от других.
  • Rouse_ © (24.11.17 09:47) [3]

    > Через 4-8 дней  получает ошибку OutOfMemory

    Раз ReportMemoryLeak утечки не дает, значит дело не в памяти, а в ее дефрагментации.
    Просто в какой-то момент у менеджера не получается выделить требуемый кусок, ибо подходящих такого размера и не занятых банально нет.
  • Cobalt © (28.11.17 09:19) [4]
    А почему тогда растет занятая память?
    по диспетчеру задача растет и виртуальная, и PrivateBytes, и WorkingSet

    Можно как-то по карте памяти (если снимать её раз в сутки) понять чем она занята?
    Как-то отличать строки от классов?
  • Eraser © (28.11.17 13:26) [5]

    > Cobalt ©   (28.11.17 09:19) [4]

    обычно можно.
    вот отличная утилита у Розыча
    http://rouse.drkb.ru/winapi.php#pmm2
    когда возникают "проблемы с памятью" экономит кучу времени.
  • Игорь Шевченко © (28.11.17 13:30) [6]
  • Cobalt © (28.11.17 16:37) [7]
    Да карту-то я сниму, вопрос - чё мне с этим добром потом делать?
  • Игорь Шевченко © (28.11.17 18:02) [8]

    > Да карту-то я сниму, вопрос - чё мне с этим добром потом
    > делать?


    Сравнить с картой памяти у других клиентов, например.
    Возможно, внедряются какие-то дополнительные DLL хуков, которые гадят, я не знаю твоей ситуации.
    По меньшей мере - искать разницу.
 
Конференция "Основная" » отловить разрастание памяти
Есть новые Нет новых   [118411   +35][b:0][p:0]