Summary: | High Plasmashell CPU Usage With Animated Desktop Widgets | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Gordon <gordon> |
Component: | general | Assignee: | David Edmundson <kde> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | bhush94, bugs.kde.org, hatespam00-bugrep, kurmikon, plasma-bugs |
Priority: | NOR | ||
Version: | 5.5.2 | ||
Target Milestone: | 1.0 | ||
Platform: | openSUSE | ||
OS: | Linux | ||
URL: | https://forums.opensuse.org/showthread.php/512331-Plasmashell-CPU-Usage | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
Valgrind log
Valgrind log 2 plasmashell strain on the CPU with no other programs running CPU load goes back to normal after plasmashell restart here is my callgrind file as requested plasmashell serious strains on the CPU after 8+ hours of work here is the list of all libxcb debugging symbols available on my KUbuntu install |
Description
Gordon
2016-01-05 21:46:29 UTC
I can confirm this on Arch Linux. Unfortunately I can confirm that KUbuntu is also affected ... I am running KUbuntu 15.10 with all available patched applied from ppa:kubuntu-ppa/backports. My plasmashell version is 5.5.3 and I am using System Load widget. Interestingly is that after several hours the widget becomes completely unresponsive (but I can launch the program it via K menu). I use my system for day to day work and I can confirm that after 8 hours the CPU usage is rather high (~30%) when no other programs are running (and you can feel that your computer has become sluggish). Killing and restarting plasmashell always cures it (I can provide a screen shot of "before" and "after"). It's VERY obvious. Last Friday I left the computer running over the weekend (my session running and locked with no screen saver, no programs running), and when I logged back in on Monday, the CPU usage was so high, couldn't do anything but restart it. My desktop has a 8 x Intel Core i7-4770 CPU @ 3.4 GHz CPU and 16G of RAM. So it's certainly not an old and slow machine. I hope you guys will now believe that this is indeed a KDE issue. Thank you. (In reply to Quantum Five from comment #2) > Unfortunately I can confirm that KUbuntu is also affected ... > > I am running KUbuntu 15.10 with all available patched applied from > ppa:kubuntu-ppa/backports. My plasmashell version is 5.5.3 and I am using > System Load widget. Interestingly is that after several hours the widget > becomes completely unresponsive (but I can launch the program it via K menu). > > I use my system for day to day work and I can confirm that after 8 hours the > CPU usage is rather high (~30%) when no other programs are running (and you > can feel that your computer has become sluggish). Killing and restarting > plasmashell always cures it (I can provide a screen shot of "before" and > "after"). It's VERY obvious. > > Last Friday I left the computer running over the weekend (my session running > and locked with no screen saver, no programs running), and when I logged > back in on Monday, the CPU usage was so high, couldn't do anything but > restart it. > > My desktop has a 8 x Intel Core i7-4770 CPU @ 3.4 GHz CPU and 16G of RAM. So > it's certainly not an old and slow machine. > > I hope you guys will now believe that this is indeed a KDE issue. > > Thank you. Hi, I find a workaround on my Arch Linux system. Open NotificationIcon.qml file with root permission in /usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui Search for line "running: visible" in "PlasmaComponents.BusyIndicator" section and change it in "running: false" After that, plasmashell should use only 4-5% of CPU load. Some improvement was added in latest frameworks speeding up a certain event filter. also I need some sort of logs Please can you run: kquitapp5 plasmashell valgrind --tool=callgrind --instr-atstart=no plasmashell wait till CPU usage is high then callgrind_control -i on *wait a bit* callgrind_control -i off then quit plasma and upload the relevant callgrind.something.out file. *** This bug has been marked as a duplicate of bug 356479 *** (In reply to David Edmundson from comment #4) > Some improvement was added in latest frameworks speeding up a certain event > filter. > > > > also I need some sort of logs > > Please can you run: > kquitapp5 plasmashell > valgrind --tool=callgrind --instr-atstart=no plasmashell > > wait till CPU usage is high then > > callgrind_control -i on > *wait a bit* > callgrind_control -i off > > then quit plasma and upload the relevant callgrind.something.out file. Have I to do this with "running: visible" in NotificationIcon.qml file? Ah, please, change status. This bug is not resolved. without the change. also it is marked as being a duplicate of another bug which is tracking a practically identical discussion. (In reply to David Edmundson from comment #7) > without the change. > > also it is marked as being a duplicate of another bug which is tracking a > practically identical discussion. OK, I'll do the log when I can. But this is the first time I try that. After quitting plasma, where can I find callgrind.something.out file? Same directory in which I executed Konsole? Created attachment 97112 [details]
Valgrind log
Firts time I use valgrind. Don't know If I did the job well.
Created attachment 97113 [details]
Valgrind log 2
Did another.
With two network monitor and one CPU monitor, during reproduction of a YouTube video, plasmashell/valgring process at about 20 % CPU load.
Thank you for your help David ! I am currently running valgrind and I'll grab the logs in the evening or tomorrow morning (I might let it run overnight). Meanwhile, I have attached two screenshots of "before and after" killing and restarting plasmashell. So I used my computer all day yesterday and let it running overnight without any other programs running. This morning you can see the CPU constantly loaded at +30% even if no program is running in the background. Then you can see on the picture that CPU returns to normal once I kill and restart plasmashell. Created attachment 97114 [details]
plasmashell strain on the CPU with no other programs running
The CPU load generated by plasmashell after ~16 hours of running.
Created attachment 97115 [details]
CPU load goes back to normal after plasmashell restart
Obvious difference ...There's seems to be a slight drop in the memory consumption too after plasmashell restart. About 200MB.
Created attachment 97121 [details]
here is my callgrind file as requested
Hope this helps.
Created attachment 97122 [details]
plasmashell serious strains on the CPU after 8+ hours of work
It is true that valgrind (and ONLY valgrind) was running on the background but still ... At that time my applications were getting noticeably slow, almost unresponsive. Once plasmashell was killed, everything went back to normal (and again 200MB or RAM were freed).
Your log: 53.71% of the time spent handling X events from the DRI driver saying "I've done something". We're getting ~1 million of these events. How long did you have callgrind on for? It seems excessive. Because of that 30% of the total time is then spent in KDE code processing these X events. That's something I super optimised last month that you clearly don't have yet. Latest frameworks will bring a huge improvement for you as that's now down to near zero, making us ~30% faster. Though I don't get why we're getting so many of these events. Other thing that's potentially super important, that I hadn't seen before. 27% of the time is spend in __memmove in libc. Unfortuantely I can't really see what's going on there as we don't have symbols for libxcb (not sure if it's you who needs to install them or me) But one thing it could mean is we're swapping graphic card memory. Can you install intel-gpu-tools and run intel-gpu-top / intel-gpu-overlay and see if that says anything useful. >Unfortuantely I can't really see what's going on there as we don't have symbols for libxcb (not sure if it's you who needs to install them or me)
Ah found out.
Could you install libxcb debug symbols and redo this for me again?
Did you find out something in my log? I had to return to set "running: false" in that file because plasmashell process uses 6-7% of CPU load that seems excessive to me for one network and CPU monitor widget, even if it's not worse than the other friend. Hi David, Unfortunately in KUbuntu there are many debug extensions for libxcb and not one is called just "libxcb-dbg". No meta package either as far as I can tell. I will provide a screen shot with all available libxcb debug packages and then you can indicate the ones you need. Question: are any private information recorded by libxcb debug extensions inside callgrind output file ? Thank you. Created attachment 97153 [details]
here is the list of all libxcb debugging symbols available on my KUbuntu install
Which one of them do you need ?
|