Summary: | Memory leak in plasma-desktop | ||
---|---|---|---|
Product: | [Unmaintained] plasma4 | Reporter: | Stan Thorovsky <thorovsky> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amrecio, aseigo, boblovgren55, jared, kfunk, mmbossoni, null, shtetldik, slashdevdsp, zanetu, zekkerj |
Priority: | NOR | ||
Version: | 4.8.4 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | plasma desktop memory usage |
Description
Stan Thorovsky
2010-05-16 16:38:33 UTC
Hi, I have this same annoying bug. I have basically the same configuration (without the Battery monitor) and I got this same issue. As workaround I'm logging out/in to restart plasma, but it is too sad :( Voting to this bug too. I forgot to mention that I'm using KDE 4.4.3 (In reply to comment #1) > Hi, > I have this same annoying bug. > I have basically the same configuration (without the Battery monitor) and I got > this same issue. > As workaround I'm logging out/in to restart plasma, but it is too sad :( > Voting to this bug too. Hi Marcelo, Just a quick note on simple fix with no need to log out: get Yakuake installed and running, kill plasma-desktop process in System Monitor - all your open programs will continue running, start plasma-desktop using Yakuake with: plasma-desktop & That should bring its RAM usage back to 20-30M. Hope this helps a bit - of course it's not a proper fix. This is a little quicker than log out method. thx. I also am experiencing a memory leak in plasma-desktop. I have kubuntu 10.04 x86_64 with kde 4.4.2, and nvidia proprietary drivers 195.136.15. My plasma-desktop process starts at about 65M RSS and grows by ~60M per hour. pmap shows the increased memory is coming from an anonymous data segment, xrestop shows no increase in pixmap memory for the plasma-desktop process. I think I'll be able to reproduce this bug. By removing my ~/.kde directory, I was able to make the leak stop. So it's gotta be some configuration thing. I'll continue to work on this and see if I can reproduce the config that makes the leak. these two items: * Message Indicator * Quick Access are third party, non-standard add-ons. can you try running without them (one at a time!) and see if the problem goes away at that point? if they aren't the problem, then keep removing widgets until the problem ceases. then report back with the problem widget. note that i won't keep this particular report open for more than a week without additional details, since there isn't enough information currently provided to be able to take any concrete actions. btw, you don't need yakuake (though it's an _awesome_ app :) .. just alt+f2 to bring up krunner and type: kquitapp plasma-desktop<enter>, then alt+f2 again and plasma-desktop I'll try to narrow it down - have started with removing message indicator. Maybe someone else with the same problem can try with a different widget to speed things up? Quick update: Message Indicator widget is not the culprit. Testing now without Quick Access. Also I have possibly noticed something else - memory leak does not manifest itself (or at least not as strongly) if plasma-desktop is killed and then restarted from Yakuake - this way I had plasma-desktop running for 2 days without noticeable memory usage increase. also, information on the following would be useful: * is the RAM usage x11 pixmap usage, or "regular" RAM usage? * desktop effects on? * what video driver? thanks. Aaron, Video driver: i915 Desktop effects: on (I don't think turning them off makes a difference but I might be wrong - will test in a couple of days) RAM usage: "regular" Update: eliminated Quick Access & Digital Clock, currently testing with no Folderview Update: I think I caught it - removing System Tray stopped memory leak. Since last update I eliminated one by one Folderview, Battery Monitor, Pager, Device Notifier and Application Launcher. Now, having removed System Tray, I am left with only Task Manager, Show Desktop and Trashcan with memory usage for plasma-desktop hovering at around 15 megs. I'll restore my original set of widgets excluding System Tray and test it over the next day. I'll report back and if there is no memory leak I'll add System Tray back and try to play around with it to see if I can affect its memory usage. Aaron, is there anything specific I can do to help and pinpoint the issue? I can confirm that removing system tray solved the problem.. Removing systray solved another problem too: sometimes the entire plasma freezes during a file transfer (maybe the notification applet is the problem in this case) Update: I managed to pinpoint the issue causing memory leak. It is a combination of Strigi File Indexer and plasma-desktop (Strigi applet in System Tray). Here is what's happening: Strigi re-indexes certain files/folders around every 10 mins (on an idle system and more often when files are accessed); during re-indexing process not only nepomukservicestub claims CPU usage (as would be expected), but also plasma-desktop goes to 10-17% CPU usage; during that time plasma-desktop adds between 2-4M to its RAM usage which is then never reclaimed. On my system most common RAM increase was 3.9-4M with 2-3M increase less often. So on an idle system (i.e. left overnight) plasma-desktop will increase it RAM usage at least 6 times an hour. All this is in spite of Strigi applet being hidden by default in System Tray and therefore producing no visual output. As the result memory leak can be stopped by: 1) disabling Strigi File Indexing in System Settings; or 2) removing System Tray widget. Let me know if additional details are required. (Note: reporting RAM can be tricky, so all figures are simply from Ksysguard memory column) Man, Strigi indexer... Really tricky.... I'm disabling strigi and keeping systray just to confirm here. :D Just reporting: With strigi disabled and using System Tray worked. No (large amounts of) memory increase. Thanks Stan Thorovsky for this workaround :D. Now I can leave my pc on all night long. Disabling strigi also stopped the leak for me. I have been trying unsuccessfully for the last several days to reproduce this error on a virtual machine....grrr.... I have just upgraded to 4.4.3 via kubuntu-ppa - unfortunately the bug is still there Noooooooo...... re-enabling strigi did not cause the leak to come back. I am unable to reproduce the error. I'm suffering the same problem in two machines, both using KDE 4.4.3 64bits. Interestingly, I have a third machine that doesn't seems to suffer the problem, but I'm not sure now which is the version of plasma running on it. I also disabled strigi/nepomuk in one of the machines, and will monitor it's memory usage periodically, to confirm the workaround. This is the detailed memory info on plasma-desktop from ksysguard. Its too big so I am adding the details as attachment Created attachment 47807 [details]
plasma desktop memory usage
memory info is with today svn trunk compiled. plasma-desktop with twinview with 1 activity (default) current memory usage is 185.4MB and increasing (refer to the previous attachment) I must also add that this is with twinview (2 lcd's @1680x1050 each) 256.29 nvidia binary blob with *trilinear* texture filtering, 1 panel, 1 folderview. Nepomuk and strigi are disabled. unfortunately, the memory stats info doesn't really help at all. but tracking it down to the system tray does. it's related either to jobs or notifications, and we know of a leak in the notifications (haven't pinpointed it to the exact lines of code, but we know the general area at least) ... thanks for the testing and follow up to those who did so :) I have just confirmed a way to increase the plasma memory usage :) Logout and relogin and do the following: open ksysguard and check plasma-desktop usage: say 50MB Now right click desktop->Desktop settings->wallpaper Type:Image, Positioning:Tiled 1. Now click on the scrollbar and scroll through (drag the scrollbar with the mouse all the way from the top to the bottom) all the wallpapers at a relatively moderate speed(meaning all the wallpapers should just scrollby). Check plasma-desktop memory usage: gone up by 15-20MB. If that didnt increase the memory usage: click open and add a new wallpaper (I use 1920.x1200) wallpaper Now try (1) again. I will increase memory. I have confirmed that after every 20min if you run 'right click->Desktop Settings' and do (1) it increases memory by 12-20MB again. If you run 'desktop settings' do (1) and close 'desktop settings' and rerun 'desktop settings' and do (1) the memory usage does *not* increase. Its just that if you happen to run desktop settings after a long time (say 30 mins) it definitely increases the plasma-desktop memory usage. Ahh I just found out for my previous comment #25 the memory seems to increase by about 20Mb for about 3 instances only, Any number of invocations after the first 2 instances does not seem to increase plasma-desktop memory. I am not sure why the memory increased the second time when everything should have been in cache upon the first load of 'desktop settings' as nothing was changed. *** This bug has been confirmed by popular vote. *** *** Bug 241690 has been marked as a duplicate of this bug. *** Even though this bug is marked as resolved fixed (not sure in what version of KDE though), this bug is still present for me. Removing system tray as noted above solves the issue. So this bug must be still present even in KDE 4.8.4 Current up to date Debian Linux testing x86_64. Nvidia closed driver (302.17.3). Desktops effects enabled (OpenGL compositing). plasma-desktop version (in Debian): 4:4.8.4-3 Just to note, this bug is not present when desktop effects are disabled or set to Xrender compositing. OK, taking it back - leak is present even with Xrender. Reopening based on several comments. Related: Bug #303625 ( https://bugs.kde.org/show_bug.cgi?id=303625 ) seems the re-report is related to behaviour specific to a given GPU/driver combination, not the original bug (and why i severely dislike bugs with such vague titles as this ... ) This bug is not fixed. On openSUSE 13.1 x64, plastma-desktop consumes more and memory with regular desktop usage. The only way to fix it with the default out of the box settings is to restart the computer. Telling people to disable desktop effects is not a fix. Why was this bug closed when it obviously still exists? @boblovgren55: I was able to isolate this bug to one particular custom application (which used Ruby+Qt bindings) which was creating an entry in the system tray. It was buggy, but the process which was leaking memory was plasma-desktop, because of the way the system tray is handled. xrestop demonstrated constant growth of resources usage when that application was running. Try to isolate the leak. First run the desktop without anything additional (no extra widgets and so on). See xrestop. Then add stuff one by one and monitor at what point you can observe the leak. I don't have any additional widgets except a few desktop widgets. It's a vanilla install. The more I use the computer, the more plasma-desktop grows in memory usage. In xrestop, kwin is taking up the most amount of memory. There's not much to isolate, because I don't have anything to isolate. Personally, I don't think this bug is fixed. > The more I use the computer
So you do use it, I guess it means running various stuff. What I'm trying to say is, that some application can cause the leak in the plasma-desktop. Is there a leak when you don't use the computer (but just run a default desktop without any applications)?
It seems as though the more I use the computer, the more the memory increases. If I just let it sit, it stays stable. I also notice Xorg increases in memory usage over time, so I wonder if these two things are related. The leak happens when adding widgets to the desktop. When the widgets are closed, memory is not freed. The more widgets which are added, the more memory plasma-desktops takes. Can we please re-open this bug report? Please open a new bug report with exact steps to reproduce. Also, how do you measure memory usage? Note that glibc does (and usually can) not shrink the heap size on each deallocation, so what you see might be out of the scope of Plasma developers. |