首页 > 系统相关 >用百分比显示Windows内存使用率

用百分比显示Windows内存使用率

时间:2023-02-20 19:05:16浏览次数:57  
标签:百分比 Windows SourceName 内存 phMem 日志 使用率

在之前的篇幅​​简单聊聊Azure VM的内存指标​​里已经提过了​,Windows并没提供内置的方式来让你直接通过百分比的形式展示内存使用率,这样对于告警的设置来说就不太灵活了

但是这个其实也有一些别的方法可以变相的解决这个问题,因为Windows实际上是可以收集到Available MBytes这种数据的,缺的无非就是VM的总内存数,之后除一下其实就是百分比了,这个思路和方法是微软的support工程师提供的,所以算不上是原创,感觉还是挺有意思,也挺厉害的,我这里算是借花献佛,把方法分享出来

大概的思路就是因为Agent其实也可以收集Windows日志数据,所以就把内存容量手动写入到日志里,然后收集到Log Analytics中,这样就可以直接query了,把下边的脚本设置成task schedule,让他定期运行,脚本其实比较简单,只是一些基础的查询和写log的操作

$SourceName = "MemorySize"
$EventID = "5555"
if([System.Diagnostics.EventLog]::SourceExists($SourceName) -eq $false)
{
New-EventLog -LogName System -Source $SourceName
}
$phMem = Get-WmiObject -Class Win32_ComputerSystem | Select-Object totalphysicalmemory
$phMemString = $phMem.totalphysicalmemory | Out-String
Write-EventLog -LogName System -EventId $EventID -Source $SourceName -Message $phMemStrin

之后在event log里就能看到ID为5555的日志了

用百分比显示Windows内存使用率_云

之后在Log Analytics里设置收集Windows系统日志,否则日志不会打到LA里

用百分比显示Windows内存使用率_云_02

注意在Windows Performance Counter里也要设置收集内存数据

用百分比显示Windows内存使用率_Computer_03

再通过KUSTO的query就能查到百分比的数据了

Perf 
| where ObjectName == "Memory" and CounterName == "Available MBytes"
| sort by TimeGenerated desc
| join (
Event
| where Source == "MemorySize"
| sort by TimeGenerated desc
| project Computer, phMem = (tolong(RenderedDescription)) / (1024 * 1024)
| take 1
)
on Computer
| extend UtilizedMemPercent = 100 - (round(100 * (CounterValue / phMem), 0))
| project
UtilizedMemPercent,
AvailableMegabytes = CounterValue,
PhysicalMemory = phMem,
Computer


查询到的结果里就有百分比了

用百分比显示Windows内存使用率_数据_04


标签:百分比,Windows,SourceName,内存,phMem,日志,使用率
From: https://blog.51cto.com/mxyit/6069317

相关文章

  • 如何更好的使用 Windows
    如何更好的使用WindowsMicrosoft辅助功能和工具键盘快捷方式,常用ctrl+C复制ctrl+V粘贴ctrl+X剪切ctrl+Z撤销ctrl+Y回退alt+tab切换alt+f4关闭Win......
  • Windows打开代理快捷方式
    最近使用电脑需要频繁打开关闭网络代理(全局代理会导致一些网站打不开),在想有没有快捷方式,一搜果然有,看来有跟我一样的使用习惯的人。传统切换代理开关,步骤如下:设置=>网......
  • WindowS 平台下单实例Oracle 11.2.0.1 升级Oracle 11.2.0.4
     由于业务环境需要,只有11.2.0.4可以直接升级19C,所以现需先升级到11.2.0.4主要步骤如下:备份数据,RMAN全备,必要的话建议拷贝一份HOME目录;下载升级包11.2.0.4关闭数据库,包括监......
  • Windows加装新固态硬盘设置过程
    开机后打开资源管理器,此电脑-右键-管理-磁盘管理打开后会自动弹出磁盘初始化界面(图略),这里有两个选项:MBR和GPT。MBR应用较广泛,允许通过LegacyBIOS启动,但支持分区的大小及......
  • 空间清理大师(Windows/Android)
    一坨答辩的系统,一堆存储管理差劲的各类app软件Windows1.使用Dism++/360卫士极速版清理删除使用windows自带功能做的备份,强烈推荐使用Dism++代替windows备份功能关闭休......
  • Windows QT程序配置删除网卡IP
    1、Windows下可在CMD控制终端使用Dos命令对指定网卡进行IP配置,需要使用管理员权限打开CMD终端往网卡添加IP主要有以下两种方法:方法1:netshinterfaceipaddaddress“......
  • k8s中使用prometheus operator监控外部服务器部署的windows exporter
    k8s中使用prometheusoperator监控外部服务器部署的windowsexporter0、文档说明(1)PrometheusOperator是一个流行的k8s集群监控套件,项目地址:https://github.com/prom......
  • windows10没有Hyper-V的解决方法
    最近因为项目原因,需要在自己的笔记本上安装个docker,百度之后教程发现,家庭版居然没有Hyper-V,而我也不想去升级成专业版,主要是懒得去升,那就只好再去想其他办法了.以下是......
  • Windows10: ie自动跳转到Edge的恢复
    原因:由于Windons10中的ie大概是升级了,自动跳转到了Edge,那么如何进行恢复呢?解决方案:搜索输入:ie选项->双击打开或者点击右边的打开,然后进入里面的高级选项-》往下拉,找到......
  • 第四章 熟练使用有棱有角的内存
        虽然内存IC包括DRAM、SRAM、ROM等多种形式,但从外部来看,其基本机制都是一样的。    内存IC中有电源、地址信号、数据信号、控制信号等用于输入输出的......