Исследование в области ссылки проблем пространства "кучи"?

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

1
задан critium 28 July 2010 в 07:45
поделиться

4 ответа

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

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

1
ответ дан 2 September 2019 в 22:39
поделиться

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

1
ответ дан 2 September 2019 в 22:39
поделиться

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

java -Xms1024m -Xmx2048m

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

0
ответ дан 2 September 2019 в 22:39
поделиться

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

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

0
ответ дан 2 September 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: