window bat cmd 获取cpu 利用率(使用率) 方式收集

window bat cmd 获取cpu 利用率(使用率)跟 性能计数器一致,方式收集

1. typeperf (1秒一输出)

typeperf "processor(_total)\% processor time"

若是只要执行一次,末尾添加  -sc 1,如下:

typeperf "processor(_total)\% processor time" -sc 1

window bat cmd 获取cpu 利用率(使用率) 方式收集_第1张图片

2. powershell

Powershell "Get-Counter '\Processor(*)\% Processor Time' | Select -Expand Countersamples |Select InstanceName, CookedValue"
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -Continuous

window bat cmd 获取cpu 利用率(使用率) 方式收集_第2张图片

3.wmic

wmic cpu get loadpercentage

window bat cmd 获取cpu 利用率(使用率) 方式收集_第3张图片

5. bat 

@echo off
for /f "tokens=2 delims==" %%a in ('wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value^|findstr "PercentProcessorTime"') do (
set UseCPU=%%a
)
echo CPU使用率:%UseCPU%%%
pause

获取到跟任务管理器不大一样,性能监视器(perfmon)又是一致的。

cmd 输入 perfmon 监视项选择 Processor Time

window bat cmd 获取cpu 利用率(使用率) 方式收集_第4张图片

.Net 有 PerformanceCounter

注意事项:

net core web 部署在iis 的话,需要更改程序池标识 ApplicationPoolIdentity --> LocalSystem

否则 bat cmd 之类不会返回结果

参考链接

1. How to monitor CPU and network utilization

2.md脚本实现查看当前cpu占用

你可能感兴趣的:(cmdbat,NetCore,经验分享,c#)