Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
korisk
12 / 12 / 1
Регистрация: 06.06.2009
Сообщений: 49
#1

Фрагментация памяти в С++ - C++

02.11.2009, 21:18. Просмотров 2472. Ответов 6
Метки нет (Все метки)

Есть длительно работающая программи интенсивно, работающая с памятью - выделяет освобождает, причем маленькими кусочками. Из-за этого всего фрагментируется куча.

Посоветуйте, что-нибудь, пожалуйста, может какой-нибудь линк "на почитать". Как избавиться от фрагментации памяти? Желательно с минимальными затратами и без написания собственной системы управления памятью.
Спасибо.

PS. Интересуют решения для linux или общие. Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2009, 21:18     Фрагментация памяти в С++
Посмотрите здесь:

Фрагментация RAM - C++
Почитал о программировании встроенных систем,там говорилось о фрагментации памяти. Например: Есть элемент типа int (4 байта) и массив типа...

Фрагментация оперативной памяти - Windows
Здравствуйте, подскажите пожалуйста в чем проблемы фрагментации оперативная памяти??как там что происходит и что там за проблемы с ней?

Фрагментация|Дефрагментация - Жесткие диски
Добрый день, локальный диск D (фрагментировано 2%), дефграментация не помогает, что делать?

Почему происходит фрагментация SSD? - SSD
Здравствуйте! Установил Windows 7x64 Ultimate на SSD, второй диск в системе (1-й диск в системе HDD с XP), в дефрагментации диска на всех...

Фрагментация страниц Blob-типом - Firebird/InterBase
Здравствуйте. IBAnalyst показывает, что таблицы фрагментированы. В его же справке написано, что в firbird 2.0 должен появиться параметр,...

Большая фрагментация и незавершившаяся дефрагментация - Windows 7
Исходя из названия, спрошу: Что за бред? Согласно данным программы-дефрагментатора, фрагментированных файлов на диске С было на 35 гигов....

Я выполняю дефрагментацию, а пишется, что выполняется фрагментация. Ошибка ли это? - Windows 7
Я выполняю дефрагментацию, а пишет что выполняется фрагментация. Ошибка ?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
02.11.2009, 21:26     Фрагментация памяти в С++ #2
http://www.google.ru/#hl=ru&source=h...4313e544833b95
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.11.2009, 22:34     Фрагментация памяти в С++ #3
Как избавиться от фрагментации памяти?
Написать свой аллокатор памяти под свою задачу.
Из-за этого всего фрагментируется куча.
А какая разница ? Когда программа закончится, то вся память освободиться.
Или скорость выделения памяти сильно падает ?

Добавлено через 2 минуты
без написания собственной системы управления памятью
Не обязательно все переписывать.
Достаточно переписать ту часть где производится выделение мелких областей памяти.
Причем самому сделать собственный аллокатор памяти поверх malloc(), free().

Вообще если бы ты задачу подробнее описал - а именно в части зачем тебе мелкие куски памяти, то можно сказать что-то более конкретное
Evg
Эксперт CАвтор FAQ
17470 / 5708 / 363
Регистрация: 30.03.2009
Сообщений: 15,670
Записей в блоге: 26
02.11.2009, 22:37     Фрагментация памяти в С++ #4
Цитата Сообщение от odip Посмотреть сообщение
А какая разница ? Когда программа закончится, то вся память освободиться.
Или скорость выделения памяти сильно падает ?
Из-за фрагментации возрастает потребление памяти процессом (из-за того, что память используется неэффективно)
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
02.11.2009, 22:42     Фрагментация памяти в С++ #5
Evg, Стоит отметить, что тут не малую(а иногда и основную) роль играет проектирование алгоритмов и программы в целом.
ProNoooob
72 / 72 / 6
Регистрация: 14.10.2009
Сообщений: 121
02.11.2009, 22:47     Фрагментация памяти в С++ #6
Попробуй использовать dlmalloc
Гугл расскажет подробней
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2009, 22:54     Фрагментация памяти в С++
Еще ссылки по теме:

Свойства шины памяти и подбор планки памяти - Апгрейд компьютера
Имеется такая конфигурация: Свойства шины памяти Тип шины Dual DDR3 SDRAM Ширина шины 128...

Построить модуль памяти заданной емкости на базе устройств памяти меньшей емкости с последовательным распределением адресов по устройствам - Программируемая логика
Подскажите пожалуйста кто сможет, как сделать вот это задание: Построить модуль памяти заданной емкости на базе устройств памяти меньшей...

фрагментация жесткого диска - Windows 7
вчера буквалюно проверял фрагментацию жесткого диска - 6%. Седня проверил - 2%. Что за фигня?О_о

Перезагружается компьютер после установки памяти + нет настройки памяти в BIOS - Оперативная память
Добрый день! Помогите пожалуйста разобраться в следующей ситуации, после установки оперативной памяти Kingston DDR3-1600 8192MB...

1 Гб не буферизованной памяти или 2 Гб памяти с буферизацией. Как это понимать ? - Компьютерное железо
1 Гб не буферизованной памяти или 2 Гб памяти с буферизацией Как это понимать ? И что будет если я установлю 2 Гб не буферизованной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17470 / 5708 / 363
Регистрация: 30.03.2009
Сообщений: 15,670
Записей в блоге: 26
02.11.2009, 22:54     Фрагментация памяти в С++ #7
Цитата Сообщение от niXman Посмотреть сообщение
Evg, Стоит отметить, что тут не малую(а иногда и основную) роль играет проектирование алгоритмов и программы в целом.
Естественно. В многих софтинах имеется свой менеджер памяти
Yandex
Объявления
02.11.2009, 22:54     Фрагментация памяти в С++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru