Glibc (Malloc/Free) память не может быть повторно использована - проблема фрагментации?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Glibc (Malloc/Free) память не может быть повторно использована - проблема фрагментации?

Сообщение Anonymous »

среда:
os: centos 8
Язык: c ++
Allocator памяти: Glibc (default), проверенный с tcmalloc
. Описание
Мой процесс часто обновляет большие объекты (2 ГБ+), которые являются сложными по структуре. Я заметил, что RSS (размер набора резидентов) продолжает расти с течением времени, даже когда я удаляю большие объекты перед выделениями новых. < /P>
Например: < /strong> < /p>

[*] Удалить два больших объекта (2.1gb и 2,2gb) < /p>
< /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> Новый объект (2,0 ГБ)

[*] ожидаемый RSS: [/b] ~ 4,3gb

[*] Фактический RS: ~ 5.3gb


не используется эффективно. На этот раз RSS вел себя как ожидалось: < /p>

удалить 2,1 ГБ и 2,2 ГБ < /p>
< /li>
allocate 2,0 ГБ < /p>
< /li>
rss: ~ 4,3gb ✅ ✅ ✅ ~ 4,3gb ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅. /> < /li>
< /ul>
Вопросы < /strong> < /p>

Является ли фрагментация памяти вероятной причиной такого поведения с распределителем Glibc? Я воспроизводил эту проблему с минимальной демонстрацией?

Подробнее здесь: https://stackoverflow.com/questions/797 ... tion-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»