Цитата(Juzzver @ 5.10.2017, 12:28)
Приходилось и более месяца в аптайме держать сервер, никаких утечек не было.
Случалось и несколько месяцев в аптайме сервер работал, абсолютно никаких утечек (у меня при сейвах выводиться объем занятой памяти, так что странные отклонения я бы сразу заметил)..
Цитата(Juzzver @ 5.10.2017, 12:28)
Если это действительно баг каких то старых версий рануо, можно по гиту посмотреть историю изменения файла, возможно он был исправлен.
Это вряд ли - серверный код никто не меняет не улучшает и не исправляет там ошибки уже много много лет. Так что тут только если говорить про очень древние версии вроде RunUO1 или самые первые RunUO2 или же наоборот о самых последний с servuo (я конечно сильно сомневаюсь что там хоть кто-то немного лез в код ядра, ибо код там все больше и больше походит на связку костылями разрозненных скриптов, но я лично особо не слежу ибо давно уже понял поняв, что никаких существенных изменений и доработок никто не вносит, так что всякое возможно).
Цитата(Wap @ 5.10.2017, 1:11)
Обнаружили в нем утечку памяти, что-то около 50 мб в сутки. Само по себе это вполне предсказуемо, если класс сканит мулы и оставляет кэш в пямяти для дальнейшего использования...
Тут возникает вопрос как именно вы ее обнаружили и о какой именно памяти идет речь. Не надо еще забывать что для .Net приложений менеджмент памяти осуществляется, самой средой .Net, которая сама решает когда, что и как удалять. Так что перед замерами лучше производить принудительную чистку мусора.
Сама утечка памяти там затруднительна так как не используется непосредственное выделение памяти из кучи, а утечка памяти в C#, в отличии от С++ возможно лишь при потери указателя на память в кучи без удаления оной. Так что если у вас "разбухает" матрица тайлов, то вполне вероятно причина тут в ошибках в скриптах, что допустим плодят какие-то объекты или даже сами карты.
Вверх