It is currently March 28th, 2024, 7:54 pm

What is it Doing ???

General topics related to Rainmeter.
Zerocool85
Posts: 2
Joined: September 7th, 2017, 5:15 pm

What is it Doing ???

Post by Zerocool85 »

Hello can somebody explain me why Rainmeter is constantly using my Harddrive ?

My Skins are

illustro
ModernGadgets
Simplistic Clock
TwitchLiveFollowers

with HardwareInfo64 for ModernGadgets sensor readout.
You do not have the required permissions to view the files attached to this post.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5382
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: What is it Doing ???

Post by eclectic-tech »

I can't duplicate your issue...

I would suggest closing one skin at a time, until the constant requests stop; the last skin you closed is the guilty one. :D

With that info, some one may be able to help.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm

Re: What is it Doing ???

Post by SilverAzide »

From your ProcMon output, it looks like the Disks Meter skin is polling your drive at 1 second intervals to check the disk space free/available. This is one of the functions that skin is designed to do, so it shouldn't come as a surprise...
Gadgets Wiki GitHub More Gadgets...
Zerocool85
Posts: 2
Joined: September 7th, 2017, 5:15 pm

Re: What is it Doing ???

Post by Zerocool85 »

But why only on Drive D and nowere else ?
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: What is it Doing ???

Post by balala »

Zerocool85 wrote:But why only on Drive D and nowere else ?
A while ago, I've written a code which can check when a drive is written / read. Then eclectic-tech has rewritten that code and haspublished a skin installer.
Now I again rewrote it, removing a lot of measures and adding a few to can count the amount of read / written data:

Code: Select all

[Metadata]
Name=Disk Activity
Author=Balala (blaci75@gmail.com)
Version=1
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0
Information=Displays all hard disk activity.

[Rainmeter]
Update=250
BackgroundMode=2
SolidColor=80,80,80,200
AccurateText=1
DynamicWindowSize=1
BevelType=1

[Variables]
Disk1=C:
Disk2=D:
NoActivityColor=0,0,0,40
ReadingColor=0,255,0
WritingColor=255,0,0
BothColor=255,240,0
Time=300

[RoundlineStyle]
W=16
H=16
Padding=5,5,5,5
StartAngle=4.712
RotationAngle=6.283
LineLength=8
Solid=1
AntiAlias=1
AutoScale=1

[StringStyle]
X=13r
Y=13r
FontColor=220,220,220
FontEffectColor=0,0,0
StringEffect=Border
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=CENTERCENTER
AntiAlias=1

[Timer]
Measure=Calc
Formula=( Timer + 1 )
UpdateDivider=4
Group=Measure
IfCondition=(Timer=#Time#)
IfTrueAction=[!PauseMeasureGroup "Measure"]

[MeasureTotalDisk1]
Measure=FreeDiskSpace
Drive=#Disk1#
Total=1
UpdateDivider=3
IgnoreRemovable=0
IfCondition=(MeasureTotalDisk1=0)
IfTrueAction=[!HideMeterGroup "Disk1"]
IfFalseAction=[!ShowMeterGroup "Disk1"]

[MeasureTotalDisk2]
Measure=FreeDiskSpace
Drive=#Disk2#
Total=1
UpdateDivider=3
IgnoreRemovable=0
IfCondition=(MeasureTotalDisk2=0)
IfTrueAction=[!HideMeterGroup "Disk2"]
IfFalseAction=[!ShowMeterGroup "Disk2"]

[MeasureDiskRead1]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter=Disk Read Bytes/sec
PerfMonInstance=#Disk1#

[MeasureDiskWrite1]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter=Disk Write Bytes/sec
PerfMonInstance=#Disk1#
IfCondition=((MeasureDiskRead1=0)&&(MeasureDiskWrite1=0))
IfTrueAction=[!SetOption MeterDisk1Activity LineColor "#NoActivityColor#"][!UpdateMeter "MeterDisk1Activity"][!Redraw]
IfCondition2=((MeasureDiskRead1>0)&&(MeasureDiskWrite1=0))
IfTrueAction2=[!SetOption MeterDisk1Activity LineColor "#ReadingColor#"][!UpdateMeter "MeterDisk1Activity"][!Redraw]
IfCondition3=((MeasureDiskRead1=0)&&(MeasureDiskWrite1>0))
IfTrueAction3=[!SetOption MeterDisk1Activity LineColor "#WritingColor#"][!UpdateMeter "MeterDisk1Activity"][!Redraw]
IfCondition4=((MeasureDiskRead1>0)&&(MeasureDiskWrite1>0))
IfTrueAction4=[!SetOption MeterDisk1Activity LineColor "#BothColor#"][!UpdateMeter "MeterDisk1Activity"][!Redraw]

[MeasureDiskRead1Total]
Measure=Calc
Formula=( MeasureDiskRead1Total + MeasureDiskRead1 )
Group=Measure

[MeasureDiskWrite1Total]
Measure=Calc
Formula=( MeasureDiskWrite1Total + MeasureDiskWrite1 )
Group=Measure

[MeasureDiskRead1TotalMB]
Measure=Calc
Formula=( MeasureDiskRead1Total / 1024**2 )
Group=Measure

[MeasureDiskWrite1TotalMB]
Measure=Calc
Formula=( MeasureDiskWrite1Total / 1024**2 )
Group=Measure

[MeasureDiskRead2]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter=Disk Read Bytes/sec
PerfMonInstance=#Disk2#

[MeasureDiskWrite2]
Measure=Plugin
Plugin=PerfMon
PerfMonObject=LogicalDisk
PerfMonCounter=Disk Write Bytes/sec
PerfMonInstance=#Disk2#
IfCondition=((MeasureDiskRead2=0)&&(MeasureDiskWrite2=0))
IfTrueAction=[!SetOption MeterDisk2Activity LineColor "#NoActivityColor#"][!UpdateMeter "MeterDisk2Activity"][!Redraw]
IfCondition2=((MeasureDiskRead2>0)&&(MeasureDiskWrite2=0))
IfTrueAction2=[!SetOption MeterDisk2Activity LineColor "#ReadingColor#"][!UpdateMeter "MeterDisk2Activity"][!Redraw]
IfCondition3=((MeasureDiskRead2=0)&&(MeasureDiskWrite2>0))
IfTrueAction3=[!SetOption MeterDisk2Activity LineColor "#WritingColor#"][!UpdateMeter "MeterDisk2Activity"][!Redraw]
IfCondition4=((MeasureDiskRead2>0)&&(MeasureDiskWrite2>0))
IfTrueAction4=[!SetOption MeterDisk2Activity LineColor "#BothColor#"][!UpdateMeter "MeterDisk2Activity"][!Redraw]

[MeasureDiskRead2Total]
Measure=Calc
Formula=( MeasureDiskRead2Total + MeasureDiskRead2 )
Group=Measure

[MeasureDiskWrite2Total]
Measure=Calc
Formula=( MeasureDiskWrite2Total + MeasureDiskWrite2 )
Group=Measure

[MeasureDiskRead2TotalMB]
Measure=Calc
Formula=( MeasureDiskRead2Total / 1024**2 )
Group=Measure

[MeasureDiskWrite2TotalMB]
Measure=Calc
Formula=( MeasureDiskWrite2Total / 1024**2 )
Group=Measure

[MeterDisk1Activity]
Meter=Roundline
MeterStyle=RoundlineStyle
X=5
Y=0
Group=Disk1
LeftMouseUpAction=["#Disk1#"]

[MeterDisk1]
Meter=String
MeterStyle=StringStyle
Text=#Disk1#
Group=Disk1

[MeterDisk2Activity]
Meter=Roundline
MeterStyle=RoundlineStyle
X=([MeterDisk1Activity:X]+[MeterDisk1Activity:W])
Y=0
DynamicVariables=1
Group=Disk2
LeftMouseUpAction=["#Disk2#"]

[MeterDisk2]
Meter=String
MeterStyle=StringStyle
Text=#Disk2#
Group=Disk2

[MeterReadWrite]
MeasureName=MeasureDiskRead1TotalMB
MeasureName2=MeasureDiskWrite1TotalMB
MeasureName3=MeasureDiskRead2TotalMB
MeasureName4=MeasureDiskWrite2TotalMB
MeasureName5=Timer
Meter=STRING
X=0
Y=5R
Padding=15,5,15,5
FontColor=220,220,220
FontSize=8
FontFace=Segoe UI
StringStyle=BOLD
StringAlign=LEFT
AntiAlias=1
Text=#Disk1#:R: %1 MB#CRLF#W: %2 MB#CRLF##CRLF##Disk2#:R: %3 MB#CRLF#W: %4 MB#CRLF##CRLF#Time: %5 sec
The skin has an absolutely minimalistic design, but I hope in this case, not the design is the most important.
The above code will show the activity of drives C: and D: (you can change them through the Disk1 and Disk2 variables, in the [Variables] section) and will count the amount of the read / written data, on both drives.
The Time variable (in the same [Variables] section) controls how long the skin will count (obviously in seconds).
If you let the skin work, when the set time passed, you'll see what amount of data was read / written to both drives.
Is really much more accessed the drive D: then C:?
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm

Re: What is it Doing ???

Post by SilverAzide »

Zerocool85 wrote:But why only on Drive D and nowere else ?
Most likely it is because you added a filter in ProcMon for just the D: drive? Because on my system every drive is showing as being queried in ProcMon, not just D:.
Gadgets Wiki GitHub More Gadgets...
User avatar
raiguard
Posts: 660
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

Re: What is it Doing ???

Post by raiguard »

SilverAzide wrote:From your ProcMon output, it looks like the Disks Meter skin is polling your drive at 1 second intervals to check the disk space free/available. This is one of the functions that skin is designed to do, so it shouldn't come as a surprise...
It occurs to me that this could be polled only once every 10 seconds or even slower. Disk space does not need to be constantly monitored...
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm

Re: What is it Doing ???

Post by SilverAzide »

raiguard wrote:It occurs to me that this could be polled only once every 10 seconds or even slower. Disk space does not need to be constantly monitored...
Very true, but don't forget that these measures are the "triggers" for detecting if the drive exists. So if you only poll this every 10 seconds or so, it will take at least 10 seconds for the skin to recognize a USB drive or whatever coming on line (or being unplugged). Also, this activity isn't really hitting the physical disk, all this stuff is cached in Windows (or the drive's own cache), so unless the drive is newly on- or off-line, you're just hitting the cache.
Gadgets Wiki GitHub More Gadgets...
User avatar
raiguard
Posts: 660
Joined: June 25th, 2015, 7:02 pm
Location: The Sky, USA

Re: What is it Doing ???

Post by raiguard »

SilverAzide wrote:Very true, but don't forget that these measures are the "triggers" for detecting if the drive exists. So if you only poll this every 10 seconds or so, it will take at least 10 seconds for the skin to recognize a USB drive or whatever coming on line (or being unplugged). Also, this activity isn't really hitting the physical disk, all this stuff is cached in Windows (or the drive's own cache), so unless the drive is newly on- or off-line, you're just hitting the cache.
Ah, very true. I guess if it doesn't have much of a performance impact it doesn't really matter.
”We are pretty sure that r2922 resolves the regression in resolution caused by a reversion to a revision.” - jsmorley, 2017