正文

PowerShell实现动态获取当前脚本运行时消耗的内存(powershell脚本语法)干货满满

文章摘要

本文介绍了名为`Get-MemoryUsage`的 PowerShell 函数,用于测量和监控系统内存使用情况。函数的主要功能包括: 1. 使用`[System.GC]::GetTotalMemory('forcefullcollection')`获取当前系统总内存使用量,并将其转换为 MB。 2. 比较当前内存使用量与上一次记录的内存使用量,计算差异值。 3. 通过`Write-Host`命令将测量结果以格式化字符串形式输出,包含当前内存使用量、总内存使用量以及差异值。 4. 将当前内存使用量保存到`$script:last_memory_usage_byte`的全局变量中,以便后续使用。 该脚本适用于需要自动化内存使用量监控和记录的场景,能够帮助用户及时发现内存使用异常情况。

 #requires -Version 2 $script:last_memory_usage_byte=0 function Get-MemoryUsage { $memusagebyte=[System.GC]::GetTotalMemory(‘forcefullcollection’) $memusageMB=$memusagebyte / 1MB $diffbytes=$memusagebyte – $script:last_memory_usage_byte $difftext=” $sign=” if ( $script:last_memory_usage_byte -ne 0 ) { if ( $diffbytes -ge 0 ) { $sign=’+’ } $difftext=”, $sign$diffbytes” } Write-Host -Object (‘Memory usage: {0:n1} MB ({1:n0} Bytes{2})’ -f $memusageMB,$memusagebyte, $difftext) # save last value in script global variable $script:last_memory_usage_byte=$memusagebyte }