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

随心笔谈9个月前发布 admin
208 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

本文介绍了名为`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
}

© 版权声明

相关文章