On Tue, 16 Feb 2016 18:49:44 +0100 Davide Andreoli <d...@gurumeditation.it> said:
> 2016-02-16 2:42 GMT+01:00 Carsten Haitzler <ras...@rasterman.com>: > > > On Mon, 15 Feb 2016 08:10:45 -0500 Conrad Knight <iestynap...@gmail.com> > > said: > > > > > Hi, > > > > > > I wrote a while back about an apparent memory leak while running > > > Enlightenment, but only have time to look into it every few weeks. > > > Here is something I've found... > > > > > > The run-away memory usage only occurs while xscreensaver is running, > > > and then not every time. I figured it might have to do with specific > > > modes of the screensaver (i have it set to cycle through them > > > randomly). A few quick tests found one that reliably causes memory > > > usage to spike, "zoom", the last hack (in xscreensaver parlance) in > > > the list for the random selections. > > > > > > These "hacks" can also be run manually without the xscreensaver > > > executable, and i was able to verify that "zoom" run by itself in a > > > window very quickly caused the memory problem. I had to switch to a > > > text virtual terminal to kill the process. Even after this, "ps" shows > > > that enlightenment continues to use over 40% of my system's memory. > > > > so THAT is useful info. it's caused by xscreensaver. > > > > first advice - stop using it. i haven't used it for like 15 years. its > > pointless chewing up your cpu (and gpu) while you are NOT THERE. it just > > eats > > power, damages our environment (by causing more energy use and thus > > attendant > > fossil fuel usage to generate it - in general. yes we can get into "but my > > power mostly comes from renewables" but then it'd help unload that and > > lower > > investment costs) ... and it costs money. > > > > screensavers are a hold-over from the days where monitors couldn't shut > > off - if > > you displayed the same thing for a long time it'd burn the image in. then > > monitors were able to actually power down later saving power. a black > > screen > > still used power. it hasnt needed to use power for like 2 decades now. > > > > so stop using screensavers. you're not there. > > > > now i'm done with that rant ... the issue is one of events. > > > > http://devs.enlightenment.org/~raster/massif-out.txt > > > > put that through massif visualizer and see. the issue is partly that xlib > > itself uses huge amounts of ram to buffer incoming event info - > > specifically > > region info then ecore puts this region info on its own event queue and > > uses > > yet more ram. > > > > so let's look at this in more detail. zoom actually uses really low level > > draws > > - like drawing individual points or tiny regions. every one of these draws > > causes an update (damage) event from x and we store the tine region - i > > haven't > > looked but i think they are on the magnitude of 1x1 pixel or so. and its > > generating millions and millions of these every second. just to remember > > that > > little rect consumes somewhere like ~16 bytes of memory or more. so imagine > > like 10, 20, 30 million bytes.. or 10-30mb per second are easily being > > eaten up > > to store all of these. > > > > at least what i see under valgrind and just running plain.. e can't keep up > > with the MASSIVE flood of incoming tiny damage regions and is basically > > spending all it's time dealing with this, never going idle. it's a horrible > > situation that basically never happens normally except for these > > patholigical > > apps that want to draw pixel-by-pixel with "old school 2d x11 draw > > primitves". > > > > so ok - this is a nasty client when it comes to compositing in the way it > > draws. xorg doesnt seem to try and do any damage region "merging" inside, > > so > > the compositor has to deal with it all and that's just a tough thing to do. > > > > but this does seem to point out a few little issues that wouldn't normally > > turn > > up. i'll poke into some of them. but for now - just stop using > > xscreensaver. > > this os likely one of those things that will go away as we eventually move > > to > > wayland .. as it just wont exist anymore. :) > > > > > just an idea to solve this in an easy way (maybe I miss something): > The xscreensaver is a fullscreen window, right? in that case there is an > option > in E to "unredirect fullscreen windows" (dunno if it's the correct english > name > of that option). Shoudn't that option fix the issue? it should also do it - but the issue happens if u run the saver by hand too: /usr/lib/xscreensaver/zoom :) i looked into it and there doesnt seem to be an easy/quick fix. there just seems to be an awful amount of damage event traffic and region traffic - even xlib itslef allocates massive buffers for send/receive - i saw the xlib request buffer balloon out to over 100mb. :( > > > I can kind of see why the memory usage of a badly behaving program (or > > > is it my video driver?) would show up as being used by enlightenment > > > instead -- enlightenment has to actually display the pretty graphics > > > on the screen. But why, after the process has been killed, is this > > > memory not freed? And is there perhaps a compile option for E (or > > > xscreensaver, for that matter) that would prevent all of this in the > > > first place? > > > > > > Side note: "enlightenment_remote -restart" does free up the memory, > > > but often this times out before the restart occurs. Also, the restart > > > triggers the not-remembering-size-or-location problem with the clock > > > module, a separate issue that has persisted into e20. > > > > > > -- > > ------------- Codito, ergo sum - "I code, therefore I am" -------------- > > The Rasterman (Carsten Haitzler) ras...@rasterman.com > > > > > > > > ------------------------------------------------------------------------------ > > Site24x7 APM Insight: Get Deep Visibility into Application Performance > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > > Monitor end-to-end web transactions and take corrective actions now > > Troubleshoot faster and improve end-user experience. Signup Now! > > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > > _______________________________________________ > > enlightenment-users mailing list > > enlightenment-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > _______________________________________________ > enlightenment-users mailing list > enlightenment-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ enlightenment-users mailing list enlightenment-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-users