Lua garbage collector - wycieki pamięci
Ostatnio zmodyfikowano 2023-02-19 13:34
dunno Temat założony przez niniejszego użytkownika |
Lua garbage collector - wycieki pamięci » 2023-02-19 11:33:27 Pomogliście mi w ubiegłym roku z silnikiem gry (od tamtego momentu 0 crashów https://cpp0x.pl/forum/temat/?id=28730&p=1 ). Dzięki. Posiadam silnik gry na bazie yurots - źródła: https://github.com/divinity76/YurOTS/tree/master/ots/source i ponownie zwracam się z prośbą o pomoc/wskazówki, lecz już z innym problemem. Wydaje mi sie ze lua garbage collector nie działa poprawnie. Np. jest restart serwera, loguje się 60 osób i liczba graczy się utrzymuje i zużycie ramu jest na poziomie 1.2GB to po 24h dochodzi nawet do 2.5GB. Bylibyście w stanie luknać swoim fachowym okiem w source które podesłałem ( https://github.com/divinity76/YurOTS/tree/master/ots/source). Zakładam, że problem jest z LUA i ram nabija, gdy gracze używają czarów i jest związany z LUA znajdujące się w actions/spells. Gdyby było 0 graczy na serwerze RAM by nie uległ zmianie przez cały czas uruchomienia serwera.Patrzyłem jak wyglądają destruktory LuaScript::~LuaScript() { if( luaState ) lua_close( luaState ); } ale moim zdaniem wygląda ok, gdzieś wyczytałem, ze mogę zrobić to tak, ale nie wiem czy to przyniesie jakikolwiek efekt? lua_gc(L, LUA_GCCOLLECT, 0) https://stackoverflow.com/questions/45547172/when-is-it-allowed-to-call-lua-gc-in-c-when-also-using-lua-newuserdataMacie jakieś pomysły z czym tu może być problem? Lua było 5.0, potem było 5.1 i było to samo, więc powrót znowu na 5.0 |
|
DejaVu |
» 2023-02-19 11:54:34 Jest jeszcze coś takiego jak fragmentacja pamięci w systemie operacyjnym. Tak więc możesz mieć memory leaki, a może to wynikać z fragmentacji pamięci. |
|
pekfos |
» 2023-02-19 13:34:30 Wydaje mi sie ze lua garbage collector nie działa poprawnie. Bo? |
|
« 1 » |