@beduin01

На сколько фрагментация памяти замедляет работу системы и приложения?

Вопрос касается сборщика мусора. Как я понимаю хороший GC умеет выполнять дефрагментацию памяти т.е. после удаления объекта из памяти освободившиеся дырки ликвидируются.

Собственно вопрос -- на сколько ручное управление памятью приводит к фрагментации (вряд ли программисты в своем большинстве делают что-то большее кроме как простое удаление объекта).

На сколько падает производительность? Где про это дело почитать подробнее.

В каких задачах вы сталкивались с проблемами фрагментации памяти?
  • Вопрос задан
  • 504 просмотра
Решения вопроса 1
Aquarius-Michael
@Aquarius-Michael
Программист и железячник
Влияние фрагментации памяти на производительность хорошо выражено в тех системах, где существуют значительные задержки доступа к памяти прежде, чем выполнять чтение и запись. Поэтому для жёстких дисков и существует служба дефрагментации. А для памяти типа ОЗУ это делать ненужно и вредно. Потому что процессору придётся снова сбрасывать свой кэш преобразования адресов. А это уйдёт куда больше времени. Потому что с точки зрения преобразования адресов фрагментации памяти нет. То есть каждая задача видит память не замусоренной и линейной. Да и страничная организация памяти позволяет программистам жить лучше. Другое дело - сегментная организация памяти. Но они давно не используются. Сборщики мусора занимаются несколько другими задачами. Их задача - очистить память от неиспользуемых объектов в течение такого-то времени, чтобы потом не возникла проблема доступностью памяти для различных операций. Иначе произойдёт утечка памяти. Но они не занимаются дефрагментацией.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
Правильно это называть "Фрагментация адресного пространства". На 32 битной системе проблема действительно есть, и, в зависимости от задачи, может вылезти посадка скорости.

На 64 битной системе адресное пространство огромно, его тяжело фрагментировать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы