2023-12-12 16:39:28 +03:00
|
|
|
function Get-MemorySize {
|
|
|
|
|
$Memory = Get-CimInstance Win32_OperatingSystem
|
|
|
|
|
$MemUse = $Memory.TotalVisibleMemorySize - $Memory.FreePhysicalMemory
|
2023-12-19 00:06:14 +03:00
|
|
|
$MemUserProc = ($MemUse / $Memory.TotalVisibleMemorySize) * 100
|
2024-01-29 23:41:19 +03:00
|
|
|
$PageSize = $Memory.TotalVirtualMemorySize - $Memory.TotalVisibleMemorySize
|
|
|
|
|
$PageFree = $Memory.FreeVirtualMemory - $Memory.FreePhysicalMemory
|
|
|
|
|
$PageUse = $PageSize - $PageFree
|
|
|
|
|
$PageUseProc = ($PageUse / $PageSize) * 100
|
|
|
|
|
$PageFile = Get-CimInstance Win32_PageFileUsage
|
|
|
|
|
$PagePath = [string]$($PageFile).Description
|
|
|
|
|
$MemVirtUse = $Memory.TotalVirtualMemorySize - $Memory.FreeVirtualMemory
|
|
|
|
|
$MemVirtUseProc = ($MemVirtUse / $Memory.TotalVirtualMemorySize) * 100
|
2023-12-12 16:39:28 +03:00
|
|
|
$GetProcess = Get-Process
|
|
|
|
|
$ws = ((($GetProcess).WorkingSet | Measure-Object -Sum).Sum/1gb).ToString("0.00 GB")
|
|
|
|
|
$pm = ((($GetProcess).PM | Measure-Object -Sum).Sum/1gb).ToString("0.00 GB")
|
|
|
|
|
$CollectionMemory = New-Object System.Collections.Generic.List[System.Object]
|
|
|
|
|
$CollectionMemory.Add([PSCustomObject]@{
|
2024-01-29 23:41:19 +03:00
|
|
|
MemoryAll = ($memory.TotalVisibleMemorySize/1mb).ToString("0.00 GB")
|
|
|
|
|
MemoryUse = ($MemUse/1mb).ToString("0.00 GB")
|
|
|
|
|
MemoryUseProc = [string]([int]$MemUserProc)+" %"
|
|
|
|
|
PageSize = ($PageSize/1mb).ToString("0.00 GB")
|
|
|
|
|
PageUse = ($PageUse/1mb).ToString("0.00 GB")
|
|
|
|
|
PageUseProc = [string]([int]$PageUseProc)+" %"
|
|
|
|
|
PagePath = $PagePath
|
|
|
|
|
MemoryVirtAll = ($memory.TotalVirtualMemorySize/1mb).ToString("0.00 GB")
|
|
|
|
|
MemoryVirtUse = ($MemVirtUse/1mb).ToString("0.00 GB")
|
|
|
|
|
MemoryVirtUseProc = [string]([int]$MemVirtUseProc)+" %"
|
|
|
|
|
ProcWorkingSet = $ws
|
|
|
|
|
ProcPageMemory = $pm
|
2023-12-12 16:39:28 +03:00
|
|
|
})
|
|
|
|
|
$CollectionMemory
|
|
|
|
|
}
|