невозможно выделить ошибку памяти на Mac OS X — Java (XX, XX) Malloc: *** Mmap (размер = XX) не удалось (код ошибки = 12)

Я считаю, что это общая проблема, но если это поможет, я использую базу данных LucidDB (0.9.4) на Mac OS X 10.8 с 16 ГБ ОЗУ. Программное обеспечение базы данных написано в основном на Java, а некоторые части написаны на C ++. Когда я увеличил размер пула буферов до 1 ГБ, я получил следующую ошибку.

Java (669,0xfc621000) malloc: * Mmap (размер = 16777216) не удалось (код ошибки = 12)
ошибка: невозможно выделить регион
*
* установить точку останова в malloc_error_break для отладки

Я считаю, что буферный пул использует разделяемую память, поэтому я увеличил максимально доступную разделяемую память (kern.sysv.shmmax, kern.sysv.shmall) до 2 ГБ. Я также увеличил размер кучи Java (Xms, Xmx) до 1536 МБ. Я застрял, какие-нибудь намеки?

0

Решение

Всякий раз, когда я видел эти странные низкоуровневые ошибки в Linux, я прослеживал их по причине нехватки какого-либо ресурса, такого как слишком частое исчерпание раздела подкачки или переназначение виртуальной памяти. Должна быть утилита, которая дает вам дамп всех отображений памяти в работающей программе. Я бы проверил, не слишком ли много отображений.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]