Выделите большую структуру из mmap, используя MALLOC_MMAP_THRESHOLD_ - PullRequest
0 голосов
/ 15 октября 2019

У меня есть большая структура (~ 200Mb), которую я десериализовываю из большого файла JSON из Java с использованием serde_json, и эта десериализация происходит снова, когда появляются новые данные. Структура имеет Vec s, HashMap строк и структур строк и т. Д.

Просматривая страницу руководства для mallopt (3) , я обнаружил, что переменная средыMALLOC_MMAP_THRESHOLD_ может быть установлено, чтобы контролировать, сколько выделения должно быть запрошено для malloc для выделения с использованием mmap. Я хочу выделить свою структуру из mmap, потому что куча вызывает фрагментацию памяти во время перезагрузок. Я хочу, чтобы старая освобожденная память (та, которая была заменена новой десериализованной структурой) немедленно возвращалась в систему (а не хранилась ни на одной из арен malloc).

Есть ли способдостичь этого? Должен ли я использовать какой-то другой формат данных?

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