если вы говорите о Win32 - вы можете попробовать сжать что-то с помощью LARGEADDRESSAWARE. У вас будет ~ 1 ГБ дополнительной дефрагментированной памяти, поэтому ваше приложение будет фрагментировать ее дольше.
а возникали проблемы, из-за которых наши долго выполняющиеся серверные процессы (работающие на Windows Server 2003) выдавали исключение из-за сбоя выделения памяти. Мы подозреваем, что эти выделения не выполняются из-за фрагментации памяти.
Поэтому мы рассматриваем некоторые альтернативные механизмы распределения памяти, которые могут помочь нам, и я надеюсь, что кто-то может сказать мне лучший:
1) Используйте WindowsКуча с низкой фрагментацией
2) jemalloc - как используется вFirefox 3
3) Даг ЛитаНос
Наш серверный процесс разработан с использованием кросс-платформенного кода C ++, поэтому любое решение в идеале также будет кросс-платформенным (страдают ли операционные системы * nix от такого типа фрагментации памяти?).
Кроме того, правильно ли я считаю, что LFH теперь является механизмом выделения памяти по умолчанию для Windows Server 2008 / Vista? ... Мои текущие проблемы "уйдут", если наши клиенты просто обновят свою серверную операционную систему?