ElevenClock icon indicating copy to clipboard operation
ElevenClock copied to clipboard

[BUG/ISSUE] Elevated CPU usage with WMI Provider Host (wmiprvse.exe) in version 3.8.1

Open pjldrum opened this issue 2 years ago • 11 comments

Upon automatic update to version 3.8.1, I noticed that the above-mentioned process is now consistently running at ~ 10% of CPU usage. When quitting ElevenClock from the tray window, the above mentioned process usage goes down to 0. This was not previously encountered in earlier versions of ElevenClock, to the best of my knowledge.

Running Win 11 x64 on Intel Core I7-8750h with 32GB of RAM

pjldrum avatar Sep 15 '22 12:09 pjldrum

Can confirm. WMI Host provider using 20%+ CPU usage. Immediately goes down after killing Eleven Clock

4t0m1c avatar Sep 15 '22 17:09 4t0m1c

Hi guys, how many monitors do you have in your pcs?

Can you please try enabling the low-cpu mode as a test and seeif it helps?

marticliment avatar Sep 15 '22 18:09 marticliment

Thanks for the reply. I have 5 monitors; however, this problem was not encountered previously (even with the clock running on all monitors). The low CPU mode did not help; it did, in fact make the issue worse....50% CPU usage from ElevenClock and 20% usage from the WMI host provider.

pjldrum avatar Sep 15 '22 18:09 pjldrum

The low CPU mode did not help; it did, in fact make the issue worse...

Oh, i didn't know it worked that bad😅

Now, seriously: Can you please guys send your logs? Ram usage is not growing, right? I mean, there's no 1,5GB used by ElevenClock?

marticliment avatar Sep 15 '22 19:09 marticliment

5 monitors as well. 2 GPUs - not sure if that's a clue. 40% of the CPU was being used by WMI and Eleven Clock. Uninstalled it to confirm and am seeing much better results now.

Where can I find these logs?

On Thu, 15 Sept 2022 at 21:16, Martí Climent @.***> wrote:

The low CPU mode did not help; it did, in fact make the issue worse...

Oh, i didn't know it worked that bad😅

Now, seriously: Can you please guys send your logs? Ram usage is not growing, right? I mean, there's no 1,5GB used by ElevenClock?

— Reply to this email directly, view it on GitHub https://github.com/martinet101/ElevenClock/issues/925#issuecomment-1248509874, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACWOH4CAD4IUFHFQ6QYALJDV6NYVLANCNFSM6AAAAAAQNKOH54 . You are receiving this because you commented.Message ID: @.***>

4t0m1c avatar Sep 15 '22 19:09 4t0m1c

Right-click ElevenClock -> ElevenClock settings -> Debugging info -> open log.

Meanwhile this issue is not fixed, could ypu please disable updates and install version 3.8.0? (downbload here: https://github.com/martinet101/ElevenClock/releases/tag/3.8.0)

marticliment avatar Sep 15 '22 19:09 marticliment

Log file attached. ElevenClock is using approx. 87mb of RAM and 8% of CPU (with low CPU mode enabled); I think my previous comment was due to my machine running very slow trying to enable low CPU mode. 11oclock log.txt

pjldrum avatar Sep 15 '22 19:09 pjldrum

This issue has been fixed. Please stay tuned for the next release

marticliment avatar Sep 16 '22 13:09 marticliment

Not fixed in 3.8.2. Still 20+% CPU usage on WMI Provider Host

🔵 Using taskbar background color
🟢 Regular sized taskbar
🟢 Clock on the bottom
🟢 Clock on the right
🟢 Using qt's default positioning system
🔵 Clock geometry: PySide6.QtCore.QRect(2360, 1394, 200, 46)
🔵 Font families   : ['Segoe UI Variable Display', 'sans-serif']
🔵 Custom font     : 
🔵 Font size: -1.0
🟢 Using white text (dark mode)
🔵 tDateMode: dd/MM/yyyy
🔵 tTimeMode: HH:mm
🔵 Loaded date time format: %H:%M
%d/%m/%Y
🔵 Full screen rect:  (0, 0, 2560, 1440)
en
can't parse ""
🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True, legacyFullScreenMethod:False
🟢 Updating outdated language file...
🟢 Using cached lang file
🔵 Initializing clock 1...
🔵 Using taskbar background color
🟢 Regular sized taskbar
🟢 Clock on the bottom
🟢 Clock on the right
🟢 Using qt's default positioning system
🔵 Clock geometry: PySide6.QtCore.QRect(4280, 1421, 200, 46)
🔵 Font families   : ['Segoe UI Variable Display', 'sans-serif']
🔵 Custom font     : 
🔵 Font size: -1.0
🟢 Using white text (dark mode)
🔵 tDateMode: dd/MM/yyyy
🔵 tTimeMode: HH:mm
🔵 Loaded date time format: %H:%M
%d/%m/%Y
🔵 Full screen rect:  (2560, 387, 4480, 1467)
🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True, legacyFullScreenMethod:False
en
can't parse ""
🔵 Initializing clock 2...
🔵 Using taskbar background color
🟢 Regular sized taskbar
🟢 Clock on the bottom
🟢 Clock on the right
🟢 Using qt's default positioning system
🔵 Clock geometry: PySide6.QtCore.QRect(-2120, 1385, 200, 46)
🔵 Font families   : ['Segoe UI Variable Display', 'sans-serif']
🔵 Custom font     : 
🔵 Font size: -1.0
🟢 Using white text (dark mode)
🔵 tDateMode: dd/MM/yyyy
🔵 tTimeMode: HH:mm
🔵 Loaded date time format: %H:%M
%d/%m/%Y
🔵 Restart loop: 1
🔵 Full screen rect:  (-3840, 351, -1920, 1431)
🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True, legacyFullScreenMethod:False
en
can't parse ""
🔵 Initializing clock 3...
🔵 Using taskbar background color
🟢 Regular sized taskbar
🟢 Clock on the bottom
🟢 Clock on the right
🟢 Using qt's default positioning system
🔵 Clock geometry: PySide6.QtCore.QRect(-200, 1391, 200, 46)
🔵 Font families   : ['Segoe UI Variable Display', 'sans-serif']
🔵 Custom font     : 
🔵 Font size: -1.0
🟢 Using white text (dark mode)
🔵 tDateMode: dd/MM/yyyy
🔵 tTimeMode: HH:mm
🔵 Loaded date time format: %H:%M
%d/%m/%Y
🔵 Full screen rect:  (-1920, 357, 0, 1437)
🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True, legacyFullScreenMethod:False
en
can't parse ""
🔵 Initializing clock 4...
🔵 Using taskbar background color
🟢 Regular sized taskbar
🟢 Clock on the bottom
🟢 Clock on the right
🟢 Using qt's default positioning system
🔵 Clock geometry: PySide6.QtCore.QRect(5432, -91, 200, 46)
🔵 Font families   : ['Segoe UI Variable Display', 'sans-serif']
🔵 Custom font     : 
🔵 Font size: -1.0
🟢 Using white text (dark mode)
🔵 tDateMode: dd/MM/yyyy
🔵 tTimeMode: HH:mm
🔵 Loaded date time format: %H:%M
%d/%m/%Y
🔵 Full screen rect:  (2560, -1773, 5632, -45)
🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True, legacyFullScreenMethod:False
en
can't parse ""
🟢 Loaded clocks in 1.2082431316375732
🟠 Waiting for sw to not be null
🟠 Waiting for sw to not be null
🟢 Cached text input host hwnd: 66832
{'System language': 'default', 'Arabic - عربي\u200e (66%)': 'ar', 'Bulgarian - български (19%)': 'bg', 'Catalan - Català': 'ca', 'Czech - Čeština': 'cs', 'Danish - Dansk (66%)': 'da', 'German - Deutsch': 'de', 'Greek - Ελληνικά (20%)': 'el', 'English - English': 'en', 'Spanish - Español (98%)': 'es', 'Estonian - eesti (98%)': 'et', 'Persian - فارسی\u200e (5%)': 'fa', 'Finnish - Suomi (67%)': 'fi', 'French - Français': 'fr', 'Hebrew - עִבְרִית\u200e (98%)': 'he', 'Hungarian - Magyar (98%)': 'hu', 'Indonesian - Bahasa Indonesia (98%)': 'id', 'Italian - Italiano (51%)': 'it', 'Japanese - 日本語': 'ja', 'Korean - 한국어': 'ko', 'Lithuanian - Lietuvių (24%)': 'lt', 'Latvian - Latviski (65%)': 'lv', 'Norwegian (bokmål) (98%)': 'nb', 'Dutch - Nederlands (86%)': 'nl', 'Norwegian (nynorsk) (72%)': 'nn', 'Polish - Polski (98%)': 'pl', 'Portuguese (Brazil) (90%)': 'pt_BR', 'Portuguese (Portugal)': 'pt_PT', 'Romanian - Română (98%)': 'ro', 'Russian - Русский (98%)': 'ru', 'Sinhala - සිංහල': 'si', 'Slovak - Slovenčina (32%)': 'sk', 'Serbian - Srpski (24%)': 'sr', 'Swedish - Svenska (79%)': 'sv', 'Thai - ภาษาไทย (85%)': 'th', 'Turkish - Türkçe (21%)': 'tr', 'Ukranian - Yкраї́нська': 'ua', 'Vietnamese - Tiếng Việt (41%)': 'vi', 'Simplified Chinese (China)': 'zh_CN', 'Traditional Chinese (Taiwan)': 'zh_TW'}
🟠 Waiting for sw to not be null
🟠 Waiting for sw to not be null
🟠 Waiting for sw to not be null
🟠 Waiting for sw to not be null
🟠 Waiting for sw to not be null
🟠 Waiting for sw to not be null
🔵 System tray icon enabled
🔵 Starting update check
🔵 Low cpu mode is set to False. DisableNotifications is set to False
🔵 tDateMode: dd/MM/yyyy
🔵 tTimeMode: HH:mm
🔵 Loaded date time format: %H:%M
%d/%m/%Y
🟠 Waiting for sw to not be null
🟢 Loaded everything in 2.3658716678619385
🔵 Version URL: https://versions.somepythonthings.tk/versions/elevenclock.ver
🟢 Updates not found
🔵 Announcement URL: https://www.somepythonthings.tk/resources/elevenclock.announcement
🔵 Image URL: https://upload.wikimedia.org/wikipedia/commons/d/db/Google_Translate_Icon.png
🔵 Starting update check
🔵 Version URL: https://versions.somepythonthings.tk/versions/elevenclock.ver
🟢 Updates not found
🔵 Saving log...```

4t0m1c avatar Sep 19 '22 10:09 4t0m1c

@4t0m1c, @pjldrum, if yiu quit ElevenClock and then relaunch it, wmi cpu usage does automatically ramp up to 20% or not?

Does low cpu mode help now?

If you start clicking lots of times on the tray icon, does cpu usage permanently increase?

marticliment avatar Sep 19 '22 16:09 marticliment

Upon exiting elevenclock and starting again, the WMI provider host CPU usage goes up to 10% for me with ElevenClock itself using about 5%. This is with low CPU mode on. With low CPU mode off, WMI cpu usage goes to 23% and Elevenclock goes to 13%. I did not notice any issue with CPU usage permanently increasing, but I did get a "not responding" message on Elevenclock

pjldrum avatar Sep 20 '22 00:09 pjldrum

Hi guys, are you running beta versions of windows?

Because I have also noticed this issue, but when using ProcessExplorer or Task manager details tab WMi Provider does only take 0~1% cpu, meaning that task manager is misreporting.

marticliment avatar Sep 24 '22 15:09 marticliment

image

marticliment avatar Sep 24 '22 15:09 marticliment

Hi,

same problem here. I can confirm that I am not running any Windows Beta versions. CPU load in Task-Manager is at 10%. In my case, the usage is (according to the task manager detail page) actually that high.

//edit: Low CPU mode reduces my usage from about 10% to about 5%

Jaaaaanobert avatar Sep 25 '22 20:09 Jaaaaanobert

image

Jaaaaanobert avatar Sep 25 '22 20:09 Jaaaaanobert

Hi @Jaaaaanobert,

could you please check the usage with Sysinternals process explorer?

https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer

marticliment avatar Sep 26 '22 10:09 marticliment

Hi @martinet101,

of course. There you go :) image

Jaaaaanobert avatar Sep 26 '22 15:09 Jaaaaanobert

Hi @Jaaaaanobert , could you please share your cpu model and your display arrangement?

marticliment avatar Sep 26 '22 16:09 marticliment

Hi @Jaaaaanobert , could you please share your cpu model and your display arrangement?

Sure, I am using an I7 7700k and 3 Monitors, all on Full-HD (1920x1080). My main monitor is in the middle and the other twos are right and left of it.

Jaaaaanobert avatar Sep 26 '22 16:09 Jaaaaanobert

Hi @Jaaaaanobert , could you please share your cpu model and your display arrangement?

Sure, I am using an I7 7700k and 3 Monitors, all on Full-HD (1920x1080). My main monitor is in the middle and the other twos are right and left of it.

image

Jaaaaanobert avatar Sep 26 '22 16:09 Jaaaaanobert

Same problem here on 3.8.2.

The problem with it hitting WMI Provider host is that it is somewhat single threaded, and both serialises and blocks requests, so although it might only be taking 3% or so of CPU, it markedly slows down other processes too: I had a similar WMI problem with false positive ECC memory error reporting on a dual XEON server a while back, machine ran horrendously slow despite WMI only being at 2% CPU (an entire core thread on a 24c/48t machine).

The problem is worse when ElevenClock is enabled on secondary monitors, scaling roughly linearly, with cpu usage about 2.5:1 WMI/ElevenClock in all cases.

Main machine is LG Gram 2022, i7-1260P 12c/16t, 32GB RAM, 4TB PCIE 4 SSD, 3% WMI, 1.2% ElevenClock.

I just checked on an i7-1195G7 4c/8t 16GB RAM, 1TB PCIE 3 SSD and similar problem but rather worse, about 5% WMI, 1.5% ElevenClock with three monitors, but interestingly unlike the LG Gram above, the CPU utilisation in this case is negligible on a single monitor.

Monitor arrangement is 32" UHD above, and 2 x 16" 2560x1600 panels below. image

nezbrun avatar Sep 26 '22 17:09 nezbrun

Anecdotally, and coincidentally at the same time since this heavy WMI CPU started, it also intermittently breaks S3 Sleep IME: at least 50% of the time one of my laptops running ElevenClock won't properly sleep, it goes into a no-man's land, one eye open, the other closed.

When I disable ElevenClock (quit & stop it starting at startup), all is fine.

nezbrun avatar Sep 26 '22 17:09 nezbrun

Hi guys, if any of you have Python knowledge, the latest head has some optimzation on how win32api functions work. Could you please test it and see if it helps?

marticliment avatar Sep 26 '22 18:09 marticliment

Hi guys, if any of you have Python knowledge, the latest head has some optimzation on how win32api functions work. Could you please test it and see if it helps?

Sorry, I neither have any experience in python, nor with WinAPI implementations.

Jaaaaanobert avatar Sep 26 '22 20:09 Jaaaaanobert

Can confirm this is still an issue on 3.8.2

akerckhofs avatar Sep 27 '22 09:09 akerckhofs

I typically leave my pc on but sleep at nights. After having a second user log in (sharing the pc) ram and cpu usage has jumped up. I tried the low cpu usage setting and average cpu jumped up to mid 30's% from the 20's%, but it did remove the 2nd instance of the clock. I have 2 monitors, windows 11. Quitting EC allows wmi to drop to 0 from ~6%, but the EC process is still running and using 8GB of ram but ~15% cpu. It is not running for the 2nd account (still logged in but switched to mine).

EC v3.8.2 auto updated. The only real options i've changed are adding Day name, and to disable hiding the default windows clock on the primary screen as it was doing weird things (like not actually hiding it). PC has 32gb and is a i7-9700K.

image

Ataye avatar Oct 08 '22 12:10 Ataye

When not sleeping the clock works fine, right?

marticliment avatar Oct 08 '22 13:10 marticliment

I can go through a number of sleep / wake cycles after a reboot and it is ok. I noticed the above usage today after letting my better half log into her account. Come to think of it, I think last time I had to kill EC was somewhere around after a second user logged in..

Ataye avatar Oct 08 '22 13:10 Ataye

I have found an issue that could be the cause of your problem, @Ataye, and it shoukd be fixed now

marticliment avatar Oct 09 '22 08:10 marticliment

image Looks bad (installed 3.9.1)

Jaaaaanobert avatar Oct 09 '22 12:10 Jaaaaanobert