icinga-powershell-framework/lib/provider/memory/Get-IcingaMemoryPerformanceCounter.psm1

18 lines
930 B
PowerShell
Raw Normal View History

2019-07-25 12:29:21 -04:00
function Get-IcingaMemoryPerformanceCounter()
{
$MemoryPercent = New-IcingaPerformanceCounterArray -Counter "\Memory\% committed bytes in use","\Memory\Available Bytes","\Paging File(_Total)\% usage"
[hashtable]$Initial = @{};
[hashtable]$MemoryData = @{};
2019-07-25 12:29:21 -04:00
foreach ($item in $MemoryPercent.Keys) {
$Initial.Add($item, $MemoryPercent[$item]);
2019-07-25 12:29:21 -04:00
}
$MemoryData.Add('Memory Available Bytes', [decimal]($Initial.'\Memory\Available Bytes'.value));
$MemoryData.Add('Memory Total Bytes', (Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory);
$MemoryData.Add('Memory Used Bytes', $MemoryData.'Memory Total Bytes' - $MemoryData.'Memory Available Bytes');
2019-10-30 09:44:44 -04:00
$MemoryData.Add('Memory Available %', 100 - ($MemoryData.'Memory Available Bytes' / $MemoryData.'Memory Total Bytes' * 100));
$MemoryData.Add('PageFile %', $Initial.'\Paging File(_Total)\% usage'.value);
return $MemoryData;
}