powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Процесс не освобождает память
4 сообщений из 4, страница 1 из 1
Процесс не освобождает память
    #38045887
igas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!
Проявилась при выполнении операций некоторый процесс занимает приличную часть оперативы, после завершения выполнения память не освобождается, так и висит до рестарта этого процесса.
У процесса есть такие ивенты:
\KernelObjects\HighMemoryCondition
\KernelObjects\LowMemoryCondition
Может их как-нибудь выставить?
...
Рейтинг: 0 / 0
Процесс не освобождает память
    #38045975
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igas,
Если процесс выделяет память мелкими кусками (насколько помню для VS - до 500КБ) то рантайм размещает эту память в одной или нескольких кучах большого размера, которые по мере необходимости запрашивает у ОСи.
При освобождении таких объектов, куча в которой они находились не возвращается ОСи.
В VS была какая-то функция, которую надо вызвать и она возвращает ОСи все освобожденные кучи.
Впрочем, довольно часто встречается ситуация, когда в куче остается несколько долгоживущих глобальных объектов и поэтому освободить ее нельзя.

Саму функцию для возврата памяти я не помню, но ее недавно кто-то здесь приводил. Может кто-то напомнит.
_memчегототам или _freeчегототам.

Часто (если алгоритм позволяет) можно бороться с этим используя свой аллокатор для мелких объектов, память для которого выделяется явно у ОСи, и потом удаляется также явно при завершении алгоритма.
...
Рейтинг: 0 / 0
Процесс не освобождает память
    #38046426
igas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,
Процесс - сторонний сервер, я думаю это как-нибудь решить через объект синхронизации
...
Рейтинг: 0 / 0
Процесс не освобождает память
    #38046558
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igas,

Я считаю - вам вообще ничего не нужно делать.
Если виртуальная память занятая процессом реально им не используется, то соответствующие физические страницы памяти будут при нехватке памяти сброшены в своп и распределены другим процессам или дисковому кешу.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Процесс не освобождает память
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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