Сколько оперативной памяти выделить Minecraft
Короткий ответ: обычно 4 ГБ. Дальше — почему не 16, как посчитать под свою сборку и что делать, если игра всё равно подвисает.
Коротко
Сколько памяти нужно обычной игре без модов?
2–4 ГБ. Ванильная игра редко использует больше трёх даже на большой дальности прорисовки.
А сборке с модами?
Двадцать-тридцать модов — 4–6 ГБ, крупная сборка на сотню модов — 6–8 ГБ. Шейдеры добавляют примерно гигабайт, но упираются в видеокарту, а не в память.
Почему нельзя выделить всю память компьютера?
Системе тоже нужна память, а игре с огромным запасом сборщик мусора работает реже, но дольше — это видно как редкие фризы на секунду. Разумный предел — половина установленной памяти.
Как понять, что памяти не хватает?
Игра подвисает при загрузке новых чанков, а на экране отладки (F3) слева вверху показатель Mem почти всё время выше 90%. При совсем нехватке игра вылетает с сообщением OutOfMemoryError.
Сколько ставить
| Во что играете | Сколько выделить |
|---|---|
| Ванильная игра без модов | 2–4 ГБ |
| Оптимизация: Sodium, Lithium и подобные | 4 ГБ |
| Сборка на 20–40 модов | 4–6 ГБ |
| Крупная сборка на 100+ модов | 6–8 ГБ |
| Сборка с шейдерами | +1–2 ГБ к вашему значению |
Эти числа — про игру, а не про компьютер. Сколько бы вы ни выделили, всё сверх нужного просто не будет использовано.
Почему больше — не лучше
Кажется логичным: есть 16 ГБ, отдам игре 12, пусть ей будет хорошо. На деле выходит наоборот.
Java освобождает неиспользуемую память не сразу, а время от времени, целыми порциями — это называется сборкой мусора. Чем больше выделено, тем реже она происходит и тем дольше длится каждый раз. Вместо ровной картинки получаются редкие, но длинные подвисания — на полсекунды-секунду, обычно в самый неподходящий момент.
Второе: память нужна и системе. Если отдать игре почти всё, Windows начнёт скидывать данные на диск, и подвисать станет уже всё вместе.
Правило: выделяйте не больше половины установленной памяти и оставляйте системе минимум 3–4 ГБ.
- 8 ГБ на компьютере → 3–4 ГБ игре;
- 16 ГБ → 6–8 ГБ игре;
- 32 ГБ → 8 ГБ игре и не больше, даже если очень хочется.
Как выделить память
В лаунчере это либо ползунок, либо строка аргументов Java. Отвечает
за максимум параметр -Xmx:
-Xmx4G
Здесь 4G — четыре гигабайта. Можно писать и в мегабайтах: -Xmx4096M.
Рядом иногда ставят -Xms — сколько занять сразу; большого смысла в этом
нет, оставьте как есть.
Что важно: Java должна быть 64-битной. Тридцатидвухбитная не даст больше
примерно полутора гигабайт, и -Xmx8G в ней просто не запустится. Все
современные версии игры и так требуют 64-битную.
Сложные наборы флагов из старых советов в интернете сегодня почти не нужны: у современной Java настройки по умолчанию лучше, чем большинство таких подборок.
Как понять, что памяти не хватает
Нажмите F3 в игре — слева вверху появится строка Mem. Это доля занятой
памяти.
- Постоянно выше 90% и игра подвисает при выходе в новые места — мало, добавьте гигабайт-другой.
- Держится в районе 40–60% — всё в порядке, добавлять нечего.
- Игра вылетает с
OutOfMemoryError— памяти не хватило совсем; либо добавьте, либо уберите часть модов.
Отдельно стоит знать: память не превращается в кадры. Если игра идёт рывками, но памяти хватает, дело в другом — что именно смотреть, разобрано в статье о повышении FPS.
Если памяти в компьютере мало
При 4 ГБ на всём компьютере крупные сборки лучше не ставить: выделить игре больше 2 ГБ не получится, а система останется ни с чем. Что помогает:
- играть в ванильную версию или лёгкие сборки;
- поставить моды оптимизации — FerriteCore как раз про экономию памяти;
- уменьшить дальность прорисовки: она влияет и на память тоже;
- закрыть браузер перед игрой. Обычно он и есть главный потребитель.
Можно не делать это руками
Sonar — бесплатный лаунчер для Minecraft: сам ставит игру и Java, сам добавляет моды оптимизации и показывает, кто из друзей в сети и на каком сервере.