Project Zomboid крутится на Java и сам ограничивает кусок памяти, который можно отдать игре. На слабом моде пакете потолок по умолчанию заканчивается раньше, чем кончается планка в системнике: появляются рывки, вылет, в журнале нехватка кучи. Увеличить оперативную память для игры - значит поднять потолок в конфиге, а не «включить в Windows ещё гигабайты из воздуха». Если в компьютере 8 ГБ на всё, большой потолок игре только навредит: система уйдёт в файл подкачки.
Сначала посмотрите, сколько памяти реально стоит. Потом правьте файл. Обновление игры иногда перезаписывает конфиг - имейте копию своих строк.
Почему это происходит
Тормоза в Project Zomboid списывают на «мало оперативки», и не всегда это так.
Игра упёрлась в свой потолок, не в планку. Клиент читает лимит из конфига вроде ProjectZomboid64.json. Пока флаг -Xmx маленький, игра не возьмёт свободные 16 ГБ, даже если они есть.
Много модов и большая карта. Текстуры, скрипты, сервер рядом с клиентом. Потолка по умолчанию не хватает. Это частая причина вылета на модельном сервере, не «слабая видеокарта».
Поставили потолок равный всей памяти компьютера. Windows, Steam, драйвер и браузер тоже едят память. Если отдать игре почти всё, начнётся подкачка на диск, и станет хуже, чем было.
Правят ярлык или параметры запуска Steam, а игра читает JSON. На части сборок параметры запуска с -Xmx работают, на части клиент их игнорирует и берёт vmArgs из файла. Если правка «не применилась», смотрите файл, не третий ярлык.
В компьютере реально мало памяти. 8 ГБ на систему и тяжёлый модпак - тесно. Тогда честнее добавить планку, чем ставить игре 6 ГБ из восьми.
Как увеличить память для Project Zomboid пошагово
Не ставьте «ускорители оперативки» из выдачи. Они игру не лечат. Не выделяйте игре всю физическую память.
Посмотрите, сколько памяти в компьютере и сколько ест игра сейчас. «Параметры» - «Система» - «О программе» или «Диспетчер задач» - «Производительность» - «Память». Запустите Project Zomboid, откройте диспетчер, найдите ProjectZomboid64.exe. Если процесс живёт около своего потолка и вылетает на загрузке модов, лимит игры тесен. Если свободно уже почти ничего, а игра ещё не упёрлась - нужна планка, не цифра в файле.
Откройте папку игры через Steam. Библиотека - Project Zomboid - шестерёнка - «Свойства» - «Установленные файлы» - «Обзор». Найдите ProjectZomboid64.json рядом с 64-битным клиентом. Скопируйте файл в другую папку: обновление может вернуть заводские строки.
Откройте JSON блокнотом и найдите массив vmArgs. Ищите строку с -Xmx и числом в мегабайтах, например -Xmx2048m или -Xmx3072m. Это потолок кучи Java. Поменяйте только число, не ломая кавычки и запятые. Примеры, не догма: -Xmx4096m на 4 ГБ, -Xmx6144m на 6 ГБ, -Xmx8192m на 8 ГБ. Оставьте Windows несколько гигабайт. На машине с 16 ГБ потолок 6-8 ГБ для клиента обычно разумный старт, не «все 16».
Не ставьте -Xms равным всей памяти «для скорости». -Xms - стартовый кусок. Если задать его огромным, игра может не запуститься, когда свободной памяти нет. Для дома чаще достаточно поднять только -Xmx. Сохраните файл в той же кодировке, не «Документ Word».
Запустите игру обычным способом из Steam и проверьте диспетчер. Процесс должен иметь право расти выше старого потолка. Если вылет остался, откройте консоль или журнал игры: нехватка памяти и ошибка разбора JSON - разные вещи. Сломанная запятая в файле иногда тихо возвращает заводской лимит.
Если правки файла сбрасывает обновление, повторите шаг или используйте параметры запуска как запасной путь. В «Свойства» Steam есть поле параметров запуска. На вики проекта встречается вид вроде -Xmx8192m -- с двумя минусами в конце, чтобы отделить флаги Java. Это срабатывает не на каждой сборке. Основной надёжный путь для Windows - JSON. Если играете с выделенным сервером на этом же ПК, у сервера свой скрипт и свой -Xmx: клиентский файл сервер не кормит.
Если в системнике 8 ГБ, честный совет: сначала добавьте память, не ставьте игре 6 ГБ. Подкачка на HDD убьёт и игру, и рабочий стол. На ноутбуке, где планка распаяна и слота нет, большой -Xmx не появится из воздуха.
Топ «лучших цифр для модпака» я писать не буду. Смотрите свои гигабайты и диспетчер, не чужой пресет.
Часто задаваемые вопросы
Параметры запуска Steam не сработали. Почему? Клиент часто читает ProjectZomboid64.json, а не строку в Steam. Правьте файл.
Можно ли поставить -Xmx больше, чем стоит планок? Технически флаг примет число. Фактически начнётся подкачка. Так делать не надо.
Обновление игры сбросило память. Да, так бывает. Держите копию своих строк и верните -Xmx после патча.
Сервер для друзей на этом же ПК тоже надо крутить? Да, у сервера свой лимит. Клиентский JSON его не меняет. Не отдавайте клиенту и серверу сумму, близкую ко всей памяти машины.
