Memory consumption is always increasing
Bug #400849 reported by
Samuel Buffet
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Entertainer Media Center |
Triaged
|
High
|
Unassigned | ||
Bug Description
Running trunk 397, I can see that memory used by Entertainer is always increasing.
It can increase and reach a point where Entertainer is no more usable and must be killed.
To reproduce that, run Entertainer, run for instance "gnome-
Changed in entertainer: | |
importance: | Undecided → Critical |
milestone: | none → entertainer-0.5 |
Changed in entertainer: | |
status: | New → Triaged |
importance: | Critical → High |
Changed in entertainer: | |
assignee: | nobody → Matt Layman (laymansterms) |
Changed in entertainer: | |
assignee: | Matt Layman (laymansterms) → nobody |
To post a comment you must log in.
After some tests, I came to the conclusion that this memory issue is caused by screens.
Indeed, it looks like screen objects are never destroyed by the garbage collector. So all their content is not released from memory. This bug is more visible on screens that include clutter textures cause those are huge memory consumers.
To fix that, I see to solutions :
i/ we find why the garbage collector does not destroy them = we find where the python interpreter still keep a reference
ii/ we don't destroy them but keep a visible/accessible reference to them in order to avoid to recreate them in case we need one of them later on. Note, this solution is not good if we want to minimize the memory footprint of Entertainer.
Quick estimation (assuming that all the memory goes in Textures):
Test on my machine gives 130Mb for a screen containing 266 media. So around 0.5Mb per media texture.
So someone with 100 vids and 100 albums => 100Mb
So someone with 50 vids and 200 albums => 125Mb
Entertainer out of the box on the Main screen => around 37Mb
The backend itself 240Mb (what the hell is that??)