[Modelinterpreter] memory leak vs concurrency méregetés
kmate at caesar.elte.hu
kmate at caesar.elte.hu
Fri May 15 21:05:05 CEST 2015
Sziasztok!
Javítottam a memory leak és párhuzamossági bajokat a debugger-ben a
trunk-on. 3 órára itt hagytam futni az állapotgépet, és nem akadt be,
utána is tudtam breakpoint-olni, suspend-elni, stb. Még nem biztos,
hogy teljesen jó, de most nem látok több issue-t. Az a helyzet, hogy
ezt valami párhuzamosság-guruval még átnézhetnénk a jövőben.
Mérések: profiler-el mentem neki, 3 óra után az eredmény a következő:
debugger ide: 400 és 900 mega között változik a heap mérete. Mindig
felmegy 900-ig kb, aztán jön egy garbage collector és összeszedi
400-ra. A heap statisztika alapján grafikus osztályok, pl Point-ok
megy PolyLine-ok foglalódnak rendszeresen, tehát ez az animáció sara,
tehát a moka/papyrus diagram miatt van.
executor process: felment úgy 300 megára, de aztán valahogy eszébe
jutott garbage collectolni és 12-re visszaesett. Igazából char[] és
byte[] foglalódik és szabadul fel, ezekből van a legtöbb, ezt
vélhetően a logolás csinálja.
Az a helyzet, hogy amíg nem érzi magát szorult helyzetben, a java
nyugodtan töltögeti a heap-et, és nem izgulja el a dolgot. Aztán
szépen jön a gc és visszaesünk nagyon kis felhasználásra. Ez alapján
szerintem komolyabb leak most nincs a trunk változatán.
Azért egy mérés nem mérés, úgyhogy majd valaki erősítse meg! :)
Üdv,
Máté
More information about the Modelinterpreter
mailing list