The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск Pingora 0.2,  фреймворка для создания сетевых сервисов "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск Pingora 0.2,  фреймворка для создания сетевых сервисо..." +/
Сообщение от _oleg_ (ok), 14-Май-24, 14:29 
> он просто объявляет системе, что область памяти по определенному адресу определенного размера можно снова считать свободной.

На практике, даже не системе. Обычно, для производительности, реализации malloc'а запрашивают у ОС память не маленькими кусками, даже если запрошен 1 байт. ЧТо бы не гонять каждый последующий раз к ядру за доп.памятью, следующие вызовы malloc берут её из этого же куска, вообще без обращения к ядру. Ну и free поэтому, и не только, не возвращает весь кусок ОС. Т.к. его часть может ещё использоваться и, даже если не так, то она может вот-вот пригодиться при следующем malloc. Поэтому, если в работе программы обычное дело это набирание кучи памяти, которая потом не нужна, её можно просто перезапускать с помощью execve() какого-нибудь раз в сутки или вроде того для того, что бы неиспользуемая память на самом деле вернулась к ОС.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск Pingora 0.2,  фреймворка для создания сетевых сервисов , opennews, 12-Май-24, 10:47  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру