Исследования по устранению проблем с пространством кучи? - PullRequest
1 голос
/ 28 июля 2010

Мы собираем платформу, которая может предположительно загрузить любой файл JAR и запустить статистические модели. Проблема, с которой я сталкиваюсь сейчас, заключается в том, что некоторые модели слишком велики, чтобы уместиться на нашей платформе, что приводит к куче ошибок памяти. Я знаю, что было проведено исследование по этому вопросу, но я больше не могу их найти. По сути, как движок Google App Engine делает это? Кто-нибудь слышал о дисковом пространстве кучи?

Ответы [ 4 ]

1 голос
/ 28 июля 2010

Я предполагаю, что вы уже расширили свою кучу настолько, насколько это реально возможно (с учетом ограничений вашей физической памяти, архитектуры процессора, JVM и ОС).

За пределами этого ответ заключается в том, что нетJVM, которые я знаю о реализации дискового пространства кучи.Однако это не совсем нелепая идея.Когда-то было сообщество ученых (в основном), работавших над проблемой «ортогонального постоянства», когда объекты прозрачно мигрируют между памятью и постоянным хранилищем.К сожалению, были некоторые фундаментальные проблемы, которые сделали эту технологию ... сложной.(Например, сбор мусора в постоянном хранилище, получение логически непротиворечивых контрольных точек с многопоточными приложениями и работа с изменением кода.) В любом случае, результат в том, что область исследований затихла.

1 голос
/ 28 июля 2010

Дисковое пространство кучи является тривиальным - его обычно называют виртуальной памятью, а процесс перемещения данных с диска в память и обратно называется обменом.Любая ОС, разработанная за последние 3 десятилетия, может это сделать.Он работает не только для кучи, но и для стеков, самой памяти программ и т. Д. Он медленен довольно , хотя с современными ценами на память часто не требуется.

0 голосов
/ 28 июля 2010

Вы можете использовать эти параметры для указания размера кучи

Java -Xms1024m -Xmx2048m

Первый - это начальный размер, а второй - максимальный размер. Если нет ОЗУ для поддержки этого размера кучи, то ОС автоматически выполнит разбиение на страницы / перестановки, чтобы приспособиться к этому размеру памяти. Конечно, это, очевидно, будет медленнее.

0 голосов
/ 28 июля 2010

Вы можете использовать ключи командной строки для увеличения пространства кучи (как правило, до 2 ГБ).

Если этого недостаточно, вам необходимо тщательно настроить использование памяти приложениями, что потребовало бы дополнительной информации относительно егодизайн.

...