This forum has been archived. All content is frozen. Please use KDE Discuss instead.

KRunner spawned 68+ threads

Tags: None
(comma "," separated)
chasev
Registered Member
Posts
1
Karma
0

KRunner spawned 68+ threads

Tue May 07, 2019 2:35 pm
Hello,

Today, I have noticed that on my PC, krunner has 68 threads, plus its main process. I tried dividing this number by a few different factors such as cpu cores, cpu threads, desktops, activities, as well as the number of krunner plugins. I don't see a logical reason why there are so many threads.

Is this normal?

edit: I found one way this number might make sense. My CPU has 32 logical processors. If KRunner spawns 2 GlobalQueue threads for each "processor" then that would account for the 64 GlobalQueue threads, and the remaining threads look normal.

Code: Select all
% ps -LC krunner -o pid,comm,cmd
   PID COMMAND         CMD
 91147 krunner         /run/current-system/sw/bin/krunner
 91147 QXcbEventQueue  /run/current-system/sw/bin/krunner
 91147 QDBusConnection /run/current-system/sw/bin/krunner
 91147 QQmlThread      /run/current-system/sw/bin/krunner
 91147 QSGRenderThread /run/current-system/sw/bin/krunner
 91147 GlobalQueue[01] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[02] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[03] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[04] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[05] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[06] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[07] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[08] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[09] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[10] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[11] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[12] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[13] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[14] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[15] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[16] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[17] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[18] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[19] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[20] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[21] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[22] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[23] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[24] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[25] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[26] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[27] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[28] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[29] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[30] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[31] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[32] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[33] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[34] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[35] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[36] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[37] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[38] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[39] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[40] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[41] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[42] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[43] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[44] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[45] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[46] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[47] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[48] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[49] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[50] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[51] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[52] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[53] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[54] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[55] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[56] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[57] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[58] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[59] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[60] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[61] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[62] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[63] /run/current-system/sw/bin/krunner
 91147 GlobalQueue[64] /run/current-system/sw/bin/krunner



edit #2: I looked on another PC and I believe my guess is correct.
I ran this
Code: Select all
[~][0] % uname -svmriop
Linux 4.14.105 #1-NixOS SMP Tue Mar 5 16:58:03 UTC 2019 x86_64 unknown unknown GNU/Linux
[~][0] % ps -LC krunner
  PID   LWP TTY          TIME CMD
 1529  1529 ?        00:00:16 krunner
 1529  1545 ?        00:00:07 QXcbEventReader
 1529  1571 ?        00:00:00 QDBusConnection
 1529  1576 ?        00:00:00 disk_cache:0
 1529  1606 ?        00:00:00 QQmlThread
 1529  3683 ?        00:00:00 GlobalQueue[01]
 1529  3684 ?        00:00:00 GlobalQueue[02]
 1529  3685 ?        00:00:00 GlobalQueue[03]
 1529  3686 ?        00:00:00 GlobalQueue[04]
 1529  3687 ?        00:00:00 GlobalQueue[05]
 1529  3688 ?        00:00:00 GlobalQueue[06]
 1529  3689 ?        00:00:00 GlobalQueue[07]
 1529  3690 ?        00:00:00 GlobalQueue[08]
 1529  3691 ?        00:00:00 GlobalQueue[09]
 1529  3692 ?        00:00:00 GlobalQueue[10]
 1529  3693 ?        00:00:00 GlobalQueue[11]
 1529  3694 ?        00:00:00 GlobalQueue[12]
 1529  3695 ?        00:00:00 GlobalQueue[13]
 1529  3696 ?        00:00:00 GlobalQueue[14]
 1529  3697 ?        00:00:00 GlobalQueue[15]
 1529  3698 ?        00:00:00 GlobalQueue[16]

so the computer with 8 "processors" has 16 GlobalQueues,
the same on my pc:
Code: Select all
% cat /proc/cpuinfo | grep processor
processor       : 0
processor       : 1
processor       : 2
processor       : 3
processor       : 4
processor       : 5
processor       : 6
processor       : 7
processor       : 8
processor       : 9
processor       : 10
processor       : 11
processor       : 12
processor       : 13
processor       : 14
processor       : 15
processor       : 16
processor       : 17
processor       : 18
processor       : 19
processor       : 20
processor       : 21
processor       : 22
processor       : 23
processor       : 24
processor       : 25
processor       : 26
processor       : 27
processor       : 28
processor       : 29
processor       : 30
processor       : 31
% uname -svmriop 
Linux 4.19.34 #1-NixOS SMP Fri Apr 5 20:33:17 UTC 2019 x86_64 unknown unknown GNU/Linux
% ps -LC krunner
   PID    LWP TTY          TIME CMD
 91147  91147 ?        00:00:12 krunner
 91147  91179 ?        00:00:05 QXcbEventQueue
 91147  91220 ?        00:00:00 QDBusConnection
 91147  91258 ?        00:00:00 QQmlThread
 91147   2991 ?        00:00:01 QSGRenderThread
 91147   2993 ?        00:00:00 GlobalQueue[01]
 91147   2994 ?        00:00:00 GlobalQueue[02]
 91147   2995 ?        00:00:00 GlobalQueue[03]
 91147   2996 ?        00:00:00 GlobalQueue[04]
 91147   2997 ?        00:00:00 GlobalQueue[05]
 91147   2998 ?        00:00:00 GlobalQueue[06]
 91147   2999 ?        00:00:00 GlobalQueue[07]
 91147   3000 ?        00:00:00 GlobalQueue[08]
 91147   3001 ?        00:00:00 GlobalQueue[09]
 91147   3002 ?        00:00:00 GlobalQueue[10]
 91147   3003 ?        00:00:00 GlobalQueue[11]
 91147   3004 ?        00:00:00 GlobalQueue[12]
 91147   3005 ?        00:00:00 GlobalQueue[13]
 91147   3006 ?        00:00:00 GlobalQueue[14]
 91147   3007 ?        00:00:00 GlobalQueue[15]
 91147   3008 ?        00:00:00 GlobalQueue[16]
 91147   3009 ?        00:00:00 GlobalQueue[17]
 91147   3010 ?        00:00:00 GlobalQueue[18]
 91147   3011 ?        00:00:00 GlobalQueue[19]
 91147   3012 ?        00:00:00 GlobalQueue[20]
 91147   3013 ?        00:00:00 GlobalQueue[21]
 91147   3014 ?        00:00:00 GlobalQueue[22]
 91147   3015 ?        00:00:00 GlobalQueue[23]
 91147   3016 ?        00:00:00 GlobalQueue[24]
 91147   3017 ?        00:00:00 GlobalQueue[25]
 91147   3018 ?        00:00:00 GlobalQueue[26]
 91147   3019 ?        00:00:00 GlobalQueue[27]
 91147   3020 ?        00:00:00 GlobalQueue[28]
 91147   3021 ?        00:00:00 GlobalQueue[29]
 91147   3022 ?        00:00:00 GlobalQueue[30]
 91147   3023 ?        00:00:00 GlobalQueue[31]
 91147   3024 ?        00:00:00 GlobalQueue[32]
 91147   3025 ?        00:00:00 GlobalQueue[33]
 91147   3026 ?        00:00:00 GlobalQueue[34]
 91147   3027 ?        00:00:00 GlobalQueue[35]
 91147   3028 ?        00:00:00 GlobalQueue[36]
 91147   3029 ?        00:00:00 GlobalQueue[37]
 91147   3030 ?        00:00:00 GlobalQueue[38]
 91147   3031 ?        00:00:00 GlobalQueue[39]
 91147   3032 ?        00:00:00 GlobalQueue[40]
 91147   3033 ?        00:00:00 GlobalQueue[41]
 91147   3034 ?        00:00:00 GlobalQueue[42]
 91147   3035 ?        00:00:00 GlobalQueue[43]
 91147   3036 ?        00:00:00 GlobalQueue[44]
 91147   3037 ?        00:00:00 GlobalQueue[45]
 91147   3038 ?        00:00:00 GlobalQueue[46]
 91147   3039 ?        00:00:00 GlobalQueue[47]
 91147   3040 ?        00:00:00 GlobalQueue[48]
 91147   3041 ?        00:00:00 GlobalQueue[49]
 91147   3042 ?        00:00:00 GlobalQueue[50]
 91147   3043 ?        00:00:00 GlobalQueue[51]
 91147   3044 ?        00:00:00 GlobalQueue[52]
 91147   3045 ?        00:00:00 GlobalQueue[53]
 91147   3046 ?        00:00:00 GlobalQueue[54]
 91147   3047 ?        00:00:00 GlobalQueue[55]
 91147   3048 ?        00:00:00 GlobalQueue[56]
 91147   3049 ?        00:00:00 GlobalQueue[57]
 91147   3050 ?        00:00:00 GlobalQueue[58]
 91147   3052 ?        00:00:00 GlobalQueue[59]
 91147   3053 ?        00:00:00 GlobalQueue[60]
 91147   3054 ?        00:00:00 GlobalQueue[61]
 91147   3055 ?        00:00:00 GlobalQueue[62]
 91147   3056 ?        00:00:00 GlobalQueue[63]
 91147   3057 ?        00:00:00 GlobalQueue[64]


maybe there should be a cap? or it should only spawn as many as will actually be useful? I think that with so many threads, KRunner will be limited by disk throughput


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]