2019-07-25 12:29:21 -04:00
|
|
|
function Get-IcingaMemoryPerformanceCounter()
|
|
|
|
|
{
|
2019-10-30 05:44:44 -04:00
|
|
|
$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
|
|
|
|
2019-10-30 03:37:24 -04:00
|
|
|
foreach ($item in $MemoryPercent.Keys) {
|
2019-10-30 05:44:44 -04:00
|
|
|
$Initial.Add($item, $MemoryPercent[$item]);
|
2019-07-25 12:29:21 -04:00
|
|
|
}
|
|
|
|
|
|
2019-10-30 05:44:44 -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-31 04:44:28 -04:00
|
|
|
$MemoryData.Add('Memory Used %', 100 - ($MemoryData.'Memory Available Bytes' / $MemoryData.'Memory Total Bytes' * 100));
|
2019-10-30 05:44:44 -04:00
|
|
|
$MemoryData.Add('PageFile %', $Initial.'\Paging File(_Total)\% usage'.value);
|
2019-10-29 11:39:44 -04:00
|
|
|
|
2019-10-30 05:44:44 -04:00
|
|
|
return $MemoryData;
|
2019-10-29 11:39:44 -04:00
|
|
|
}
|