It is currently March 28th, 2024, 9:50 pm

Rainmeter CPU util slowly rising over time

Get help with installing and using Rainmeter.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Rainmeter CPU util slowly rising over time

Post by jsmorley »

One thing I would definitely recommend is that you change any skin using the Perfmon or AdvanceCPU plugins to use the UsageMonitor plugin instead.

https://docs.rainmeter.net/manual/plugins/usagemonitor/

https://docs.rainmeter.net/manual/plugins/usagemonitor/#Performance
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm

Re: Rainmeter CPU util slowly rising over time

Post by SilverAzide »

shoek wrote:I do run SilverAzide's Gadgets, however, which are similar: CPU/GPU usage, Network, Disk, etc.
As long as you are running the final Rainmeter 4.2 build (or later) and using the latest Gadgets 4.1.1, you should be OK, as every Perfmon/AdvancedCPU measure has been migrated to UsageMonitor. Feel free to ping me if you still have issues.
Gadgets Wiki GitHub More Gadgets...
shoek
Posts: 32
Joined: March 10th, 2017, 1:47 am

Re: Rainmeter CPU util slowly rising over time

Post by shoek »

Yes, I only run the latest versions of the Gadgets and Rainmeter.
As you say, all are using UsageMonitor now.

CPU usage still rises over time.

I'm curious if you, as the developer of those Gadgets, sees the same thing? What is your average uptime between reboots?
What is your typical CPU usage over that time span?
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm

Re: Rainmeter CPU util slowly rising over time

Post by SilverAzide »

shoek wrote:Yes, I only run the latest versions of the Gadgets and Rainmeter.
As you say, all are using UsageMonitor now.

CPU usage still rises over time.

I'm curious if you, as the developer of those Gadgets, sees the same thing? What is your average uptime between reboots?
What is your typical CPU usage over that time span?
I think my average uptime is maybe a day... It's pretty rare I leave my machine on for several days; I mainly use laptops tho. Rainmeter for me generally sits at ~1.5%-2.0% pretty steadily with 9-10 Gadgets loaded. I've seen memory inch up on earlier betas of 4.2, but those issues were all resolved. Actually, I've not seen CPU creeping up even with the old AdvancedCPU/Perfmon plugins. I'll try leaving my machine on over the weekend to see what happens...
Gadgets Wiki GitHub More Gadgets...
User avatar
rlnoonan
Posts: 26
Joined: July 30th, 2018, 10:37 pm

Re: Rainmeter CPU util slowly rising over time

Post by rlnoonan »

Raiguard, thanks very much for the thorough explanation of what is going on with the invisible skin. I'll need to update to the latest version and try that one. I'm no longer sure that this was the cause of the CPU util rising issue though. Or at least this was only a small contributor.

I've now had my system up for about 5 days and there has been no rise at all in RainMeter CPU utilization with the three skins I mentioned unloaded. Checking with the task manager I can see that RainMeter is still around 1%. So I think this time I can definitely say that the issue (at least for me) was tied to these three skins:

SysInfo->Strings->Software->TopProcess->Top-Process-Percent-Column.ini
SysInfo->Strings->Software->Processes->Processes-Left.ini
SysInfo->Strings->Software->Threads->Threads-Left.ini

Jsmorley, you mentioned that it is better for skins to use UsageMonitor as opposed to Perfmon or AdvanceCPU. Is there any way to determine which plugin these skins are using? Or would the author be the only who can tell us that? The Top Process skin is one that I'd really like to be able to use, since it has helped me troubleshoot problems in the past. So I'd love to be able to fix it. Any advice you guys would have on how I can go about digging in and debugging would be great.

Shoek, your situation sounds exactly like mine, but we use different skins. I also leave my laptop up until I'm forced to reboot due to an update, and the CPU utilization rise would become very apparent after around 5 days or so too. I think I have narrowed it down to the exact skins causing the rise, so maybe you can use the same method of slowly eliminating skins. What I found worked for me was that I let the utilization grow until it was around 9% or so and then I started unloading skins one at a time. When I unloaded the three skins in question, the RainMeter util dropped around 3% for each one. If I loaded it again it would go right back up. That made it easy to identify the source. Obviously, this wouldn't work too well right after a restart when utilization is low.

Thanks to everyone for all the help and feedback. I'm learning a lot from this experience!
User avatar
rlnoonan
Posts: 26
Joined: July 30th, 2018, 10:37 pm

Re: Rainmeter CPU util slowly rising over time

Post by rlnoonan »

jsmorley wrote:One thing I would definitely recommend is that you change any skin using the Perfmon or AdvanceCPU plugins to use the UsageMonitor plugin instead.

https://docs.rainmeter.net/manual/plugins/usagemonitor/

https://docs.rainmeter.net/manual/plugins/usagemonitor/#Performance
Thanks very much for this pointer. I looked into the three skins I mentioned above and two used Perfmon and the other one was using AdvancedCPU. So I figured I would take a shot at converting them to using UsageMonitor, which I never would have heard of without your post. After a little experimentation, I was able to get all three working. I'll have to let them run for a few days to see if the rising CPU issue is solved, but I have a feeling this version will not have that problem. While I was trying to get the new version to run, I loaded the old versions and the utilization shot up +10%. With this version the utilization increased < 1%.

Just in case it would be helpful to others, here are the code changes:
Processes-Left.ini
Original:

Code: Select all

;***********************************************
; SysInfo Processes-Left File
;***********************************************

[Rainmeter]
Update=1000

[Metadata]
Name=SysInfo
Author=Eric Miller
Information=Number of Running Processes
Version=1.0
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0

[Variables]
@include=#SKINSPATH#SysInfo\SysInfoSettings.inc

[ProcessesGather]
Measure=Plugin
Plugin=Perfmon
PerfMonObject="System"
PerfMonCounter="Processes"
PerfMonInstance=""
PerfMonDifference=0

[TitleString]
Meter=String
X=0
Y=0
W=200
H=#BoxHeight#
FontFace=#Font#
FontSize=#FontHeight#
FontColor=#TitleColor#
SolidColor=#MouseBiteColor#
StringStyle=Bold
AntiAlias=#AntiA#
Text="PROCESSES"
UpdateDivider=-1

[DataString]
Meter=String
MeasureName=ProcessesGather
X=69
Y=0
FontFace=#Font#
FontColor=#DataColor#
FontSize=#FontHeight#
AntiAlias=#AntiA#
Text="%1"
Modified:

Code: Select all

;***********************************************
; SysInfo Processes-Left File
;***********************************************

[Rainmeter]
Update=1000

[Metadata]
Name=SysInfo
Author=Eric Miller
Information=Number of Running Processes
Version=2.0
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0

[Variables]
@include=#SKINSPATH#SysInfo\SysInfoSettings.inc

[MeasureProcesses]
Measure=Plugin
Plugin=UsageMonitor
Category=System
Counter=Processes
Index=0

[CommonStyle]
Y=0
H=#BoxHeight#
FontFace=#Font#
FontSize=#FontHeight#
SolidColor=#MouseBiteColor#
AntiAlias=#AntiA#

[TitleStyle]
X=0
W=200
FontColor=#TitleColor#
StringStyle=Bold

[DataStyle]
X=69
FontColor=#DataColor#
DynamicVariables=1

[MeterThreadsTitle]
Meter=String
MeterStyle=CommonStyle | TitleStyle
Text=PROCESSES

[MeterThreadsValue]
Meter=String
MeterStyle=CommonStyle | DataStyle
Text=[MeasureProcesses:0]
Threads-Left.ini
Original:

Code: Select all

;***********************************************
; SysInfo Threads-Left File
;***********************************************

[Rainmeter]
Update=1000

[Metadata]
Name=SysInfo
Author=Eric Miller
Information=Number of Threads
Version=1.0
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0

[Variables]
@include=#SKINSPATH#SysInfo\SysInfoSettings.inc

[ThreadsGather]
Measure=Plugin
Plugin=Perfmon
PerfMonObject="Process"
PerfMonCounter="Thread Count"
PerfMonInstance="_Total"
PerfMonDifference=0

[TitleString]
Meter=String
X=0
Y=0
W=200
H=#BoxHeight#
FontFace=#Font#
FontSize=#FontHeight#
FontColor=#TitleColor#
SolidColor=#MouseBiteColor#
StringStyle=Bold
AntiAlias=#AntiA#
Text="THREADS"
UpdateDivider=-1

[DataString]
Meter=String
MeasureName=TotalThreads
X=57
Y=0
FontFace=#Font#
FontColor=#DataColor#
FontSize=#FontHeight#
AntiAlias=#AntiA#
Text="%1"
Modified:

Code: Select all

;***********************************************
; SysInfo Threads-Left File
;***********************************************

[Rainmeter]
Update=1000

[Metadata]
Name=SysInfo
Author=Eric Miller
Information=Number of Threads
Version=2.0
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0

[Variables]
@include=#SKINSPATH#SysInfo\SysInfoSettings.inc

[MeasureThreads]
Measure=Plugin
Plugin=UsageMonitor
Category=System
Counter=Threads
Index=0

[CommonStyle]
Y=0
H=#BoxHeight#
FontFace=#Font#
FontSize=#FontHeight#
SolidColor=#MouseBiteColor#
AntiAlias=#AntiA#

[TitleStyle]
X=0
W=200
FontColor=#TitleColor#
StringStyle=Bold

[DataStyle]
X=57
FontColor=#DataColor#
DynamicVariables=1

[MeterThreadsTitle]
Meter=String
MeterStyle=CommonStyle | TitleStyle
Text=THREADS

[MeterThreadsValue]
Meter=String
MeterStyle=CommonStyle | DataStyle
Text=[MeasureThreads:0]
Top-Process-Percent-Column.ini
Original:

Code: Select all

;***********************************************
; SysInfo Top-Process-Percent-Column File
;***********************************************

[Rainmeter]
Update=1000

[Metadata]
Name=SysInfo
Author=Eric Miller
Information=Most Active Process w/ %
Version=1.0
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0

[Variables]
@include=#SKINSPATH#SysInfo\SysInfoSettings.inc

[CPUMaxGather]
Measure=Plugin
Plugin=AdvancedCPU

[TopProcessGather]
Measure=Plugin
Plugin=AdvancedCPU
TopProcess=2
CPUExclude=Idle

[TopProcessPercentGather]
Measure=Plugin
Plugin=AdvancedCPU
TopProcess=1
CPUExclude=Idle
MaxValue=[CPUMaxGather]
DynamicVariables=1

[TitleString]
Meter=String
X=0
Y=0
W=200
H=#BoxHeight#
FontFace=#Font#
FontSize=#FontHeight#
FontColor=#TitleColor#
SolidColor=#MouseBiteColor#
StringStyle=Bold
AntiAlias=#AntiA#
Text="TOP PROCESS"
UpdateDivider=-1

[DataString]
Meter=String
MeasureName=TopProcessGather
MeasureName2=TopProcessPercentGather
X=80
Y=0
FontFace=#Font#
FontColor=#DataColor#
FontSize=#FontHeight#
Percentual=1
NumOfDecimals=0
AntiAlias=#AntiA#
Text="%1 %2%"
Modified:

Code: Select all

;***********************************************
; SysInfo Top-Process-Percent-Column File
;***********************************************

[Rainmeter]
Update=1000

[Metadata]
Name=SysInfo
Author=Eric Miller
Information=Most Active Process w/ %
Version=2.0
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0

[Variables]
@include=#SKINSPATH#SysInfo\SysInfoSettings.inc

[MeasureTopProcess]
Measure=Plugin
Plugin=UsageMonitor
Category=Process
Counter=% Processor Time
Index=1
Percent=1
Blacklist=_Total|Idle

[CommonStyle]
Y=0
H=#BoxHeight#
FontFace=#Font#
FontSize=#FontHeight#
SolidColor=#MouseBiteColor#
AntiAlias=#AntiA#

[TitleStyle]
X=0
W=200
FontColor=#TitleColor#
StringStyle=Bold

[DataStyle]
X=80
FontColor=#DataColor#
Percentual=1
NumOfDecimals=1
DynamicVariables=1

[MeterTopProcessTitle]
Meter=String
MeterStyle=CommonStyle | TitleStyle
Text=TOP PROCESS

[MeterTopProcessValues]
Meter=String
MeterStyle=CommonStyle | DataStyle
Text=[MeasureTopProcess]  [MeasureTopProcess:1]%
I'll report back in about a week to confirm whether the CPU utilization is holding steady.
User avatar
rlnoonan
Posts: 26
Joined: July 30th, 2018, 10:37 pm

Re: Rainmeter CPU util slowly rising over time

Post by rlnoonan »

After a little over a week, the CPU utilization of RainMeter seems to be holding steady in the 2% range. So I think the changes listed above did the trick. Hopefully, the information is helpful to others.

Thanks for all the help on this issue!