linuxmint / cinnamon

A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
GNU General Public License v2.0
4.59k stars 746 forks source link

[Memory Leak] 'Recent Files' causes excessive RAM usage. #6089

Closed artscoop closed 6 years ago

artscoop commented 7 years ago

I've been seeing Cinnamon using up to 1,2GB of RAM with no reason. When I restarted the desktop, the process went from about 175MB (normal) to around 375/530MB in a few seconds. More over, Looking Glass would show absolutely nothing.

I've been able to narrow the problem to the system tray: if I closed MegaSync (I suspect this goes with any program with an animated systray icon), then Cinnamon would stop inflating.

If I started MegaSync after restarting the desktop, then Cinnamon would eat 200 extra MB of RAM after a few seconds, until the MegaSync icon would stop showing "refresh arrows". It only happens when Cinnamon is configured to handle systray icons.

I suspect that Cinnamon handles image creation when an app updates its tray icon, but never releases the surface used for the image. Thus, if a program tries to update its systray icon 100 times a second, Cinnamon will create 100 pixmaps in memory every second, being unable to free them.

I might be wrong, but Cinnamon has now been open for one hour with systray icons support disabled, and it's not gone above 200MB in RAM (I use Lester's applet and the system monitor to monitor that).

roman-yagodin commented 7 years ago

Not sure that caused the issue, but my Cinnamon 3.2.5 on LMDE 2 Betsy also start to eat much more memory (about 660 Mb after 2-3 hours or work) after recent updates. And further we go, worse it becomes.

michael7890 commented 7 years ago

Same problem here. 3.2.4 & 3.2.5 cause massive memory leaks. Opening stuff like libreoffice, leafpad seems to be causing some of it; and opening/downloading images result in dramatic RAM usage. About a dozen pics made the cinnamon process go from about 450MB to 1.3GB within five minutes. I have 8 GB RAM which at this rate may be eaten within an hour.

Surely this is not ideal :-)

leigh123linux commented 7 years ago

Does disabling the 'show desktop' 'peek on hover' help?

artscoop commented 7 years ago

I do not know for know. But, seeing the memory usage when "Indicator support" was enabled, I:

michael7890 commented 7 years ago

Disabling effects does not seem to make a major difference; disabling indicator support doesn't either, as far as I can tell. The weirdest thing is that opening a few pictures - I tried it again just now - is ridiculous. Half a dozen pics, and cinnamon memory has gone up by 200 MB in about 15 seconds.

michael7890 commented 7 years ago

The plot thickens. Start music via cue sheet = 50 MB added to cinnamon memory. Which means that if I, an incurable music addict, were to leaf through a few music folders, idly trying out this Allegro non troppo or that Andante sostenuto, I might be tempting my machine to grind to a halt. Am I pleased? Not really :-)

I have disabled all effects & every instance of visualisation (like song change indicator etc); still, after starting about 10 pieces of music, RAM for cinnamon stood at 1 GB. - Further, another 50 MB or so is added to the total each time a jpg is opened. I reestarted cinnamon about 10 mins ago, began with 240MB, am now standing at 876 MB. Oh, and there are also awkward moments of freezing, mostly after opening a program. No big deal this, but unsettling nonetheless.

This makes cinnamon pretty much unusable at the moment; so to prevent it eating up all my RAM within a few hours, for now I'm doing most stuff in a Virtualbox install of Voyager (which is XFCE based on Ubuntu or something). Not really a solution though :-(

michael7890 commented 7 years ago

Yes, I know. I am going on about this. But giving details might be helpful, so here are a few more. Unzipped a file and thus added another 250 MB to cinnamon memory. Unzipped another file and, profligate hedonist that I am, opened a JPEG. I ought to have known better. Right now, an hour after restarting cinnamon, its memory footprint measures 1.13GB. Oh, and - just to be annoying - unzipped a third, smallish file, which promptly pushed memory up to 1.29 GB. I had time to recover from the shock though since after that, my system froze for about 20 seconds. I know how it must have felt :-)

You can see how this can cause prolonged headaches if one wants to use one's computer to be productive. I think cinnamon is awesome, and really I am not complaining. I am just filing a report which I hope may give a few pointers.

artscoop commented 7 years ago

@michael7890 Have you tried using the most recent available drivers for your graphics card? What is your distribution? I think I've had different results with updated drivers, but I'm not sure. (For example, I had a Steam game that froze everytime until I upgraded my Intel driver. Maybe you have a driver that hogs memory when some GUI/Image operation occurs... I really don't know. But it would be worth trying)

michael7890 commented 7 years ago

@artscoop: Distro is LMDE 2 (64bit), Cinnamon 3.2.5, Kernel 3.16.0-4. I don't have a seperate gaphics card, I have an AMD A8-6500T APU which has a Radeon graphics chip built in. With all previous versions of Cinnamon, no trouble of this kind occurred. It was OK with Cinnamon 3.2.0. The problem started yesterday when the latest Cinnamon version(s) were offered for download. So I am assuming it must be something they put in the latest version :-)

michael7890 commented 7 years ago

UPDATE. Just saw this in response to my posting in the Mint Forum, it's from an admin:

"A memory leak was found in the new Cinnamon release and it's being worked on by the team with highest priority."

So let's be grateful for their all their work (from which we benefit for free after all! - & keep our fingers crossed!

Odyseus commented 7 years ago

@artscoop and @michael7890

No need to keep speculating. The developers already found the root of the problem and they are working on fixing it. Edit: michael7890, you beat me to it. LOL

@michael7890: can you disable Recent Files and see if the leak is stopped? Go to System Settings > Privacy, disable recent files and restart Cinnamon.

artscoop commented 7 years ago

Excellent. (Recent files were disabled in my environment)

michael7890 commented 7 years ago

@ Odyseus - Hi Odyseus, we talked earlier on the help channel and you pointed me to this forum. Your advice - disable recent files - is excellent! Restarted Cinnamon, it shows 135MB, unzipped a few files, opened a few pictures, loaded a few cue sheets - and what do you know: Memory stays at 135, no freezing, and one dangerously euphoric Cinnamon user :-)

Thank you very much for your help. You made my day!

clefebvre commented 7 years ago

Hi,

Still not fixed, and I think it's going to take a while.. it looks deeply rooted into Cinnamon.

That said, we were looking at a huge leak in 3.2.5 which made Cinnamon unusable just after a few opened files. Fixes were pushed to 3.2.6 and the leak is now tiny.

michael7890 commented 7 years ago

@clefebvre - Thanks Clem. Have been running 3.2.6 for about two hours, with recent files & effects re-activated. It's a huge improvement! Started out at 130MB, now 198MB after medium work load (including all the stuff which was problematic, such as unzipping files, file operations, libreoffice, pics etc), so this definitely is looking very promising, and compared to before, is easily lived with!

Besides, even if it should spin out of control again for any reason, deactivating recent files is a great emergency measure so my euphoria continues unabated :-)

leigh123linux commented 6 years ago

@clem Isn't this fixed now?

michael7890 commented 6 years ago

@ leigh123linux - It's been fixed for ages, memory is fine now, at least on my machine!