SalwadoR

Чрезмерное поедание оперативной памяти.

Recommended Posts

Драсте, столкнулся с жуткой неприятностью. Конкретно - ниже:

Объём сервера - 508 мб, большая его часть - модели, коллизии и текстуры (ну кто бы сомневался).

При запуске МТА, она кушает 200-300 Мб, но вот после захода на такой сервер - она откровенно "жрёт" 1.7GB. После выхода с сервера, освобождается далеко не всё, и процесс становится объёмом в 700-800 Гб. После повторных попыток зайти и выйти с сервера, используемая память постоянно увеличивается в объёме, добавляя по 350-450 Мб к процессу. Долговременная игра и множество попыток перезахода - увеличивают процесс gtasa.exe до нескольких Гб, а-то и вовсе крашит.

  1. Игрокам с "деревянным" ПК играть на таком сервере практически невозможно. "Перезаход" на сервер создаёт проблемы с заменой коллизий, с заменой объектов и т.п.
  2. Игрокам с "очень деревянным" ПК играть вообще не удаётся, т.к. МТА благополучно "крашит" без каких либо окон и ошибок.
  3. Игрокам вообще не комфортно играть, осознавая то, что МТА может жрать больше, чем игры 2014 года.

Стоят три "пи*дец каких" серьёзных вопроса:

1. Как игрокам 2-х Гиговых БПАН серверов удаётся играть на таком сервере?

2. Почему при объёме контента в 508 мб - игра жрёт почти в 3 раза больше памяти, с 250 до 1750?

3. Почему в процессе многократного отключения от такого сервера, потреб-л-яемая ("б-л-я" без "-" из-за корявости форума заменяется на :О)  память растёт в геометрической прогрессии?

Edited by SalwadoR

Share this post


Link to post

Тоже хотелось бы разобраться, но нужно все понять. 

1) Речь идет обо всех серверах или о конкретном? Были ли тесты на локальном сервере?
2) Версия МТА клиента? Возможно какой-то коммит уже исправил эти утечки памяти.
3) МТА загружает все модели в память, идет нагрузка на ОЗУ, но думаю стоит провести тесты с заменой объектов/машин/игроков (кол-во замененных dff, txd, col, а также тип замены), чтобы понять где именно есть эти утечки, может быть dff подгружается без выделения ненужной памяти, а col наоборот, либо это все зависит от дополнительных свойств модели (свойства коллизии либо ещё что-то).

Если эти данные все подробно собрать, то можно создать большой инцидент на баг трекере и привлечь к этому внимание.

Edited by Kenix

Share this post


Link to post
20 hours ago, Kenix said:

1) Речь идет обо всех серверах или о конкретном? Были ли тесты на локальном сервере?

На 2х разных серверах, от совершенно разных разработчиков.

  1. 500+ метровый сервер, который набит моделями - кушает 1.7+ Гб с первого захода.
  2. Другой сервер, буквально 200+ Мб, а потребление 1.9+ Гб.
20 hours ago, Kenix said:

2) Версия МТА клиента? Возможно какой-то коммит уже исправил эти утечки памяти.

1.5.2, 1.5.3. Коммиты - не имеет значения (9500-10900), у всех опрошенных игроков практически идентичное потребление.

20 hours ago, Kenix said:

3) МТА загружает все модели в память, идет нагрузка на ОЗУ, но думаю стоит провести тесты с заменой объектов/машин/игроков (кол-во замененных dff, txd, col, а также тип замены), чтобы понять где именно есть эти утечки, может быть dff подгружается без выделения ненужной памяти, а col наоборот, либо это все зависит от дополнительных свойств модели (свойства коллизии либо ещё что-то).

Можно проверить, будет время - может опубликую результаты.

20 hours ago, Kenix said:

Если эти данные все подробно собрать, то можно создать большой инцидент на баг трекере и привлечь к этому внимание.

Судя по последним коммитам, занимаются хуетой (да, мог бы сам научиться и вносить полезные изменения и нововведения, ко ко ко). А судя по багтрекеру, ничего серьёзного не исправляется.

Просто будет +1 дыра в копилку. А потом вдобавок к CEF и OOP добавят скриптинг на NodeJS (=

Share this post


Link to post

@SalwadoR, ну во-первых наверное количество файлов может влиять, возможно что-то хранится в памяти без сжатия(ну типа как raw) или с легким сжатием(в этом то случае и должно от кол-ва больше зависеть).

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

В-третьих, маппинга точно меньше чем на твоем 500мб. Ну и если я не ошибаюсь, то у меня кушало ~1,3-1,4гб на wasteland. К слову отметить, это исключительно. Мог бы сказать что может что-то с защитой, но дело в том что сам замечал(на других серверах) проблемы что кеш маленький, а жрет много. А ну и от винды может зависеть ещё. Как-то проверял антивирусы, касперский жрал на xp 250-400мб, на 7 x86 150-250мб, на 7 x64 500-800мб. Ну это наверно единственный случай у меня, когда на 7 x86 что-то жрало меньше чем на xp. Ну а с x64, тема известная, все 32битное, потенциально может в два раза больше жрать на 64.

В тестах кстати смотреть нужно, не на свой специфичный контент(оптимизацию, уже давно в красную книгу занесли), а просто на контенты серверов которые жрут больше чем весит кеш, и те которые жрут +-кеш.

Не хочу никак дразнить, издеваться, но похоже есть какая-то специфика dayz, т.к. они всегда жрут много больше, и достичь <1гб, вообще кажется чем-то весьма тяжелым.

  • Like 1

Share this post


Link to post

@SalwadoR, win xp, x86 ессно. Сорри, что раньше не ответил, думал потестить и тогда уже с другими выводами сказать, но чет приболел и удачно потестить неудалось. Единственное что, минимально попробовал, загружал txd и col, пробовал множественно заменять буквально одним и тем же, но на иды разные. К моему удивлению, остановка ресурса, совершенно ничего не дала, не выгрузилось вообще ничего. Если это не баг какой-то, то надо проверить будет ли увеличение при замене одного и того же объекта. Поидее не должно быть, в таком случае может быть 2 решения по принципу подгрузки/выгрузки объектов по отдаленности, либо заменять выгружаемые очень маленькими моделями и текстурами, либо же и вовсе использовать набор моделей небольшого количества, заменяя их то на одни, то на другие.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.