Есть ли какая-нибудь библиотека malloc, предоставляющая интерфейс для освобождения памяти обратно в os? - PullRequest
0 голосов
/ 31 октября 2011

Я не знаю, существует ли библиотека malloc, предоставляющая интерфейс к свободной памяти при вызове ее обратно в ОС ..... Если нет, что я могу сделать для этого?

Ответы [ 2 ]

0 голосов
/ 11 января 2013

Это должно происходить автоматически при free(), но иногда помогает явное malloc_trim():

http://man7.org/linux/man-pages/man3/malloc_trim.3.html

0 голосов
/ 31 октября 2011

В некоторых операционных системах вы можете использовать sbrk, чтобы уменьшить размер вашей арены.Это может или не может вернуть эту память обратно в ОС.

В современном мире виртуальной памяти, это может на самом деле не быть необходимым.Есть хороший шанс, что, если вы просто прекратите использовать память, она будет выгружена и никогда не выкуплена обратно в основное хранилище (хотя она все равно может занимать адресное пространство и пространство подкачки) - все зависит от ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...