Hi, Since upgrading to plasma5, switching activities is painfully slow (but frameworks 5 rock). I *guess* this happens when there are too many open windows/processes; see bellow. As I'm writing this it takes 25 seconds to complete. The windows from the old activity disappear immediately and so do the windows of the new activity. However, Plasma takes forever to switch, which is signified by the change of the wallpaper. Running an strace on plasmashell I see that it examines all processes under/proc, reading their stat, status, statm and cmdline files. This is a small snippet of the whole story: [pid 5926] 22:54:33.646879 open("/proc/14041/status", O_RDONLY|O_CLOEXEC) = 62 <0.000008> [pid 5926] 22:54:33.716689 open("/proc/23789/status", O_RDONLY|O_CLOEXEC) = 62 <0.000021> [pid 5926] 22:54:33.803270 open("/proc/3654/status", O_RDONLY|O_CLOEXEC) = 62 <0.000010> [pid 5926] 22:54:33.875398 open("/proc/3649/status", O_RDONLY|O_CLOEXEC) = 62 <0.000016> [pid 5926] 22:54:33.947983 open("/proc/9567/status", O_RDONLY|O_CLOEXEC) = 62 <0.000015> [pid 5926] 22:54:34.039924 open("/proc/3769/status", O_RDONLY|O_CLOEXEC) = 62 <0.000018> [pid 5926] 22:54:34.112517 open("/proc/26526/status", O_RDONLY|O_CLOEXEC) = 62 <0.000016> [pid 5926] 22:54:34.185146 open("/proc/9292/status", O_RDONLY|O_CLOEXEC) = 62 <0.000019> [pid 5926] 22:54:34.277633 open("/proc/915/status", O_RDONLY|O_CLOEXEC) = 62 <0.000019> [pid 5926] 22:54:34.351597 open("/proc/14016/status", O_RDONLY|O_CLOEXEC) = 62 <0.000010> [pid 5926] 22:54:34.427960 open("/proc/3648/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:34.505433 open("/proc/5366/status", O_RDONLY|O_CLOEXEC) = 62 <0.000049> [pid 5926] 22:54:34.578242 open("/proc/1259/status", O_RDONLY|O_CLOEXEC) = 62 <0.000038> [pid 5926] 22:54:34.649194 open("/proc/25550/status", O_RDONLY|O_CLOEXEC) = 62 <0.000010> [pid 5926] 22:54:34.721935 open("/proc/5232/status", O_RDONLY|O_CLOEXEC) = 62 <0.000008> [pid 5926] 22:54:34.791276 open("/proc/9627/status", O_RDONLY|O_CLOEXEC) = 62 <0.000018> [pid 5926] 22:54:34.865870 open("/proc/4889/status", O_RDONLY|O_CLOEXEC) = 62 <0.000010> [pid 5926] 22:54:34.928660 open("/proc/13014/status", O_RDONLY|O_CLOEXEC) = 62 <0.000007> [pid 5926] 22:54:34.988213 open("/proc/24040/status", O_RDONLY|O_CLOEXEC) = 62 <0.000008> [pid 5926] 22:54:35.050505 open("/proc/23942/status", O_RDONLY|O_CLOEXEC) = 62 <0.000011> [pid 5926] 22:54:35.123089 open("/proc/5326/status", O_RDONLY|O_CLOEXEC) = 62 <0.000020> [pid 5926] 22:54:35.193520 open("/proc/1119/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:35.263565 open("/proc/14195/status", O_RDONLY|O_CLOEXEC) = 62 <0.000017> [pid 5926] 22:54:35.336297 open("/proc/27160/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:35.406865 open("/proc/3655/status", O_RDONLY|O_CLOEXEC) = 62 <0.000022> [pid 5926] 22:54:35.477662 open("/proc/8918/status", O_RDONLY|O_CLOEXEC) = 62 <0.000039> [pid 5926] 22:54:35.552086 open("/proc/4657/status", O_RDONLY|O_CLOEXEC) = 62 <0.000010> [pid 5926] 22:54:35.659828 open("/proc/12979/status", O_RDONLY|O_CLOEXEC) = 62 <0.000010> [pid 5926] 22:54:35.750543 open("/proc/3651/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:35.822661 open("/proc/9924/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:35.897813 open("/proc/5252/status", O_RDONLY|O_CLOEXEC) = 62 <0.000024> [pid 5926] 22:54:35.972790 open("/proc/14147/status", O_RDONLY|O_CLOEXEC) = 62 <0.000032> [pid 5926] 22:54:36.064394 open("/proc/3652/status", O_RDONLY|O_CLOEXEC) = 62 <0.000032> [pid 5926] 22:54:36.141466 open("/proc/5113/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:36.206532 open("/proc/8873/status", O_RDONLY|O_CLOEXEC) = 62 <0.000008> [pid 5926] 22:54:36.294604 open("/proc/25031/status", O_RDONLY|O_CLOEXEC) = 62 <0.000011> [pid 5926] 22:54:36.375235 open("/proc/9716/status", O_RDONLY|O_CLOEXEC) = 62 <0.000020> [pid 5926] 22:54:36.447880 open("/proc/1233/status", O_RDONLY|O_CLOEXEC) = 62 <0.000015> [pid 5926] 22:54:36.517645 open("/proc/14041/status", O_RDONLY|O_CLOEXEC) = 62 <0.000052> [pid 5926] 22:54:36.593497 open("/proc/23789/status", O_RDONLY|O_CLOEXEC) = 62 <0.000012> [pid 5926] 22:54:36.683332 open("/proc/3654/status", O_RDONLY|O_CLOEXEC) = 62 <0.000020> [pid 5926] 22:54:36.760110 open("/proc/3649/status", O_RDONLY|O_CLOEXEC) = 62 <0.000010> [pid 5926] 22:54:36.833528 open("/proc/9567/status", O_RDONLY|O_CLOEXEC) = 62 <0.000013> [pid 5926] 22:54:36.921905 open("/proc/3769/status", O_RDONLY|O_CLOEXEC) = 62 <0.000047> [pid 5926] 22:54:36.996137 open("/proc/26526/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:37.071122 open("/proc/9292/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:37.164535 open("/proc/915/status", O_RDONLY|O_CLOEXEC) = 62 <0.000016> [pid 5926] 22:54:37.240013 open("/proc/14016/status", O_RDONLY|O_CLOEXEC) = 62 <0.000009> [pid 5926] 22:54:37.315996 open("/proc/3648/status", O_RDONLY|O_CLOEXEC) = 62 <0.000020> [pid 5926] 22:54:37.391032 open("/proc/5366/status", O_RDONLY|O_CLOEXEC) = 62 <0.000020> [pid 5926] 22:54:37.463660 open("/proc/1259/status", O_RDONLY|O_CLOEXEC) = 62 <0.000024> [pid 5926] 22:54:37.538621 open("/proc/25550/status", O_RDONLY|O_CLOEXEC) = 62 <0.000019> [pid 5926] 22:54:37.608231 open("/proc/5232/status", O_RDONLY|O_CLOEXEC) = 62 <0.000018> [pid 5926] 22:54:37.671862 open("/proc/9627/status", O_RDONLY|O_CLOEXEC) = 62 <0.000008> [pid 5926] 22:54:37.750708 open("/proc/4889/status", O_RDONLY|O_CLOEXEC) = 62 <0.000015> [pid 5926] 22:54:37.825185 open("/proc/13014/status", O_RDONLY|O_CLOEXEC) = 62 <0.000015> Notice that it took about 4 seconds to examine 56 processes and my system currently runs over 600, not counting threads. It also scans for and re-reads taskmanagerrulsrc and kdeglobals on each iteration: [pid 5926] 22:54:37.607701 openat(AT_FDCWD, "/proc", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 61 <0.000012> [pid 5926] 22:54:37.608033 open("/proc/5232/stat", O_RDONLY|O_CLOEXEC) = 62 <0.000012> [pid 5926] 22:54:37.608231 open("/proc/5232/status", O_RDONLY|O_CLOEXEC) = 62 <0.000018> [pid 5926] 22:54:37.608474 open("/proc/5232/statm", O_RDONLY|O_CLOEXEC) = 62 <0.000018> [pid 5926] 22:54:37.608659 open("/proc/5232/cmdline", O_RDONLY|O_CLOEXEC) = 62 <0.000007> [pid 5926] 22:54:37.634069 open("/home/v13/.config/kdeglobals", O_RDONLY|O_CLOEXEC) = 61 <0.000013> [pid 5926] 22:54:37.634852 open("/etc/xdg/taskmanagerrulesrc", O_RDONLY|O_CLOEXEC) = 61 <0.000009> [pid 5926] 22:54:37.670834 openat(AT_FDCWD, "/proc", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 61 <0.000323> [pid 5926] 22:54:37.671683 open("/proc/9627/stat", O_RDONLY|O_CLOEXEC) = 62 <0.000011> [pid 5926] 22:54:37.671862 open("/proc/9627/status", O_RDONLY|O_CLOEXEC) = 62 <0.000008> [pid 5926] 22:54:37.672041 open("/proc/9627/statm", O_RDONLY|O_CLOEXEC) = 62 <0.000011> [pid 5926] 22:54:37.673241 open("/proc/9627/cmdline", O_RDONLY|O_CLOEXEC) = 62 <0.000010> [pid 5926] 22:54:37.698673 open("/home/v13/.config/kdeglobals", O_RDONLY|O_CLOEXEC) = 61 <0.000020> [pid 5926] 22:54:37.699544 open("/etc/xdg/taskmanagerrulesrc", O_RDONLY|O_CLOEXEC) = 61 <0.000010> Any ideas? Thanks, Stefanos Reproducible: Always Steps to Reproduce: 1. Open many windows 2. Switch activities Actual Results: Takes over 25 seconds Expected Results: Should be blazing fast. Preferably complete before the hand loses touch from the mouse button
Forgot to mention that the installed version is from debian testing, kactivities 5.12.0-2
Plasma became really slow to react to activity changes, I've noticed that recently. Will have to see where the problem is. The manager itself changes activity in a matter of milliseconds (it does not really do much when switching activities), and kwin is almost as fast.
>Plasma became really slow to react to activity changes, I've noticed that recently. Will have to see where the problem is. Then mark it as confirmed please. Otherwise we have to triage things twice.
I cannot reproduce this. Is it still happening for you in Plasma 5.17 or the 5.18 beta?
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!