[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