Rust — одна из самых требовательных к памяти игр на рынке, и это не баг. Процедурная карта, тысячи построек игроков и подгрузка объектов на ходу означают, что расход в 10–14 ГБ для неё нормален. Ненормально — когда расход растёт без остановки и кончается вылетом.
| Ситуация | Расход | Комментарий |
|---|---|---|
| Главное меню | 2–3 ГБ | Загружены только базовые ассеты |
| Загрузка карты | пик 12–16 ГБ | Самый тяжёлый момент, здесь и случаются вылеты |
| Игра на свежем сервере | 8–11 ГБ | Построек мало |
| Игра в конце вайпа | 12–16 ГБ | Тысячи построек игроков в памяти |
| Долгая сессия, 4+ часа | растёт на 1–3 ГБ | Накопление, лечится перезапуском |
Вывод из таблицы: 16 ГБ — практический минимум для комфортной игры, 32 ГБ снимают вопрос совсем. На 8 ГБ Rust запускается, но живёт за счёт файла подкачки, и это чувствуется фризами.
Совет «отключить файл подкачки для скорости» для Rust — прямой путь к вылетам. Игра запрашивает память с запасом, и когда системе нечего ей дать, процесс падает с ошибкой нехватки памяти.
Rust работает на Unity, а Unity периодически останавливает игру, чтобы убрать из памяти ненужные объекты. Это и есть те микрофризы раз в несколько секунд. Параметр gc.buffer задаёт, сколько памяти отдать под буфер перед такой уборкой: больше буфер — реже остановки.
gc.buffer 2048| Памяти в системе | Значение gc.buffer |
|---|---|
| 8 ГБ | 256–512 |
| 16 ГБ | 2048 |
| 32 ГБ и больше | 4096 |
Здесь важно не переборщить: выставленный на 8 ГБ системе буфер в 4096 не уменьшит фризы, а добавит их — памяти не хватит, и начнётся подкачка. Значение нужно прописать в client.cfg, иначе оно слетит при следующем запуске.
Если за сессию расход поднялся с 9 до 15 ГБ и не падает, это накопление неосвобождённой памяти. Полностью на стороне клиента оно не решается, но смягчается:
gc.collect. Даст короткий фриз и вернёт часть памяти.-high -malloc=system -nolog-malloc=system — системный распределитель памяти вместо внутреннего Unity. Часто снижает и расход, и время загрузки.-nolog — не писать подробный журнал; экономит и диск, и память под буферы.-maxMem= вручную лучше не задавать: ограничив память, ты не уменьшишь потребность игры в ней, а получишь вылет вместо подкачки.Сообщения вида «out of memory», «Unity: Could not allocate memory» или молчаливое закрытие на загрузке карты. Порядок действий:
mdsched.exe. Сбойный модуль даёт именно случайные вылеты.RustClient.exe, а не старый лаунчер.Если сейчас 8 ГБ — да, это самое выгодное вложение для Rust, заметнее, чем видеокарта. Переход с 8 на 16 ГБ убирает и фризы подкачки, и вылеты на загрузке.
С 16 на 32 ГБ — заметно только в конце вайпа на застроенных серверах и при игре с браузером и Discord на втором мониторе. Важнее другое: два модуля вместо одного. Двухканальный режим даёт больше, чем удвоение объёма, и стоит дешевле.
Практический минимум — 16 ГБ, комфортно — 32 ГБ. На 8 ГБ игра запускается, но постоянно опирается на файл подкачки: отсюда фризы и вылеты на загрузке карты, особенно в конце вайпа на застроенных серверах.
Это размер буфера перед уборкой мусора в Unity: чем он больше, тем реже игра замирает на очистку памяти. При 16 ГБ ставь 2048, при 32 ГБ — 4096, при 8 ГБ — не больше 512, иначе начнётся подкачка и фризов станет больше.
Нет, обычно вредят. Они принудительно выгружают кэш, который игра тут же читает с диска заново — вместо ускорения получаются дополнительные фризы. Освобождать память надо закрытием ненужных программ, а не «оптимизаторами».
Технически можно, но это не уменьшает потребность игры в памяти. Упёршись в искусственный лимит, Rust вылетит вместо того, чтобы воспользоваться файлом подкачки. Лучше настроить файл подкачки и снизить дальность прорисовки.