Сколько оперативной памяти выделять модпаку в Майнкрафте

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

 

Что происходит с памятью, когда запускается модпак

Майнкрафт на Java работает внутри виртуальной машины, которая получает от системы отдельный участок оперативной памяти, так называемую кучу. Её верхнюю границу задаёт лаунчер при запуске, и в куче одновременно хранится несколько видов данных:

  • загруженные участки мира — чанки вокруг игрока;
  • мобы, выброшенные предметы и другие сущности, которые сейчас обрабатывает игра;
  • данные модов — их содержимое и текущее состояние.

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

Как лаунчер распределяет память

Верхнюю границу кучи задаёт параметр -Xmx, и много лет официальный лаунчер по умолчанию ставил -Xmx2G, то есть два гигабайта. В тестовых версиях 26.4 Mojang перешла на автоматический подбор — до четверти оперативной памяти компьютера, но не больше четырёх гигабайт.


Изменить значение вручную можно в настройках установки, в дополнительных параметрах, в поле «Аргументы JVM», а иногда туда же добавляют -Xms, который задаёт стартовый размер кучи. В сторонних лаунчерах, например CurseForge, для этого обычно есть ползунок выделенной памяти.


Понять, хватает ли выставленного объёма, помогает экран отладки по клавише F3. Строка Mem показывает, сколько памяти игра занимает сейчас и какой у неё потолок, а строка Allocated — сколько из этого потолка уже забрано у системы. Значение Mem в норме постоянно скачет: растёт, пока копятся ненужные данные, и падает после их уборки. Тревожный признак — когда оно упирается в потолок и перестаёт опускаться, а игра в итоге вылетает с ошибкой java.lang.OutOfMemoryError.

Почему лишние гигабайты не ускоряют игру

Параметр -Xmx ограничивает только кучу, а текстуры, графические буферы, сама Java-машина, видеодрайвер и система занимают место за её пределами. По обновлённым требованиям Mojang минимум для Java Edition составляет восемь гигабайт оперативной памяти на весь компьютер при дискретной видеокарте или 12 ГБ при встроенной, а рекомендованный объём — 16 ГБ. Если отдать игре почти всё, браузеру, Discord и Windows придётся тесниться в остатке.


Сверять возможности устройства с требованиями полезно не только перед запуском игр, но и перед установкой мобильных приложений. К примеру, прежде чем скачать приложение 1xBet на телефон Android с сайта букмекерской конторы, которая легально работает в Казахстане, не лишним будет проверить, подходит ли устройство по системным требованиям. Экспертный сайт о ставках и спорте Legalbet указывает на лояльные требования программы — 183 Мб памяти и Android не ниже версии 5.0. Для компьютера с модпаком ту же роль играют требования Mojang и запас памяти, который остаётся системе после настройки лаунчера.


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

Сборка Ориентир для -Xmx
Ванильная игра от двух до четырёх ГБ
Лёгкая сборка из нескольких десятков модов около четырёх ГБ
Модпак примерно на сотню модов от четырёх до шести ГБ
Крупный модпак на 250 модов и больше от шести до восьми ГБ

Это стартовые значения, а не строгие нормы, и точная цифра зависит от состава сборки. Для крупных модпаков важен и общий объём памяти компьютера: если её всего восемь гигабайт, отдать игре столько же не получится.

Как снизить расход памяти без новых планок

Часть нагрузки снимают моды на оптимизацию. FerriteCore меняет то, как игра хранит состояния блоков и модели, и, по замерам самого автора, в одной из крупных сборок сократил занятую кучу почти вдвое — примерно с 1800 до 980 МБ. Мод работает и на клиенте, и на сервере, поэтому подходит и для одиночной игры, и для своего сервера с друзьями.


Подбирать объём удобнее постепенно, меняя его на один-два гигабайта и проверяя строку Mem в длинной игровой сессии. Если игра вылетает с ошибкой памяти, объём увеличивают, а если при большом запасе её мучают рывки, есть смысл его, наоборот, уменьшить. Хороший модпак ценят не за число гигабайт в настройках, а за то, что после пары часов в шахте он работает так же ровно, как в первые минуты.

*Статью подготовил эксперт Legalbet Артём Митько