首页/系统/Windows 运维速查/Get-Counter 命令行采样

Get-Counter 命令行采样

PowerShell 读取性能计数器:脚本化采样与阈值判断,适合无人值守巡检。

Windows 运维速查系统更新于 2026-10-13

Get-Counter 是干什么的

Get-Counter 是 PowerShell 读取性能计数器的入口,把图形界面上“看曲线”的能力搬到命令行:指定计数器路径、采样间隔与采样次数,就能拿到一组数值,再据此做阈值判断与记录。它是无人值守巡检的常用工具,可以在没有图形界面的服务器上按计划采集关键指标。主要障碍是计数器名称在中文系统里会本地化。

基本信息

适用平台Windows 7 / Server 2008 R2 及以上,PowerShell 3.0+
语法Get-Counter '\对象(实例)\计数器' -SampleInterval 秒 -MaxSamples 次数
发现计数器Get-Counter -ListSet <集合名> | Select-Object -ExpandProperty Counter
取值方式结果对象的 CounterSamples.CookedValue 为数值
远程采样指定 ComputerName(依赖相应权限与通道)

典型使用场景

  • 阈值巡检:定时采样 CPU、内存、磁盘队列并在越界时告警
  • 故障复盘:在问题发生时按秒级采样,留下可用于分析的序列
  • 容量评估:连续几天收集指标趋势,为扩容提供数据
  • 验证优化效果:改动前后对比同一计数器的均值
  • 无图形界面服务器:Server Core 上只能用命令行采样

常用示例

常用示例
# 采样 CPU 总占用:每 1 秒一次,共 10 次
Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 1 -MaxSamples 10
# 取单个数值(可用内存 MB)
(Get-Counter '\Memory\Available MBytes').CounterSamples.CookedValue
# 多个计数器一次采完,减少调用开销
Get-Counter -Counter '\Processor(_Total)\% Processor Time','\Memory\Available MBytes','\PhysicalDisk(_Total)\Avg. Disk Queue Length' -MaxSamples 5
# 中文系统里发现可用计数器名
Get-Counter -ListSet Processor | Select-Object -ExpandProperty Counter
# 求采样平均值做基线
$s = Get-Counter '\Processor(_Total)\% Processor Time' -MaxSamples 30 -SampleInterval 1
($s.CounterSamples | Measure-Object CookedValue -Average).Average

常用计数器

计数器路径含义异常参考
\Processor(_Total)\% Processor TimeCPU 总占用率长期高于 80% 需关注
\Memory\Available MBytes可用物理内存持续偏低会触发换页
\PhysicalDisk(_Total)\Avg. Disk Queue Length磁盘平均队列持续大于 2 表示排队明显
\Network Interface(*)\Bytes Total/sec网卡吞吐接近链路上限需扩容
中文系统上的计数器名会被本地化,写死英文路径的脚本在中文机器上可能报错。兼容做法是先用 -ListSet 取可用名称,或使用系统提供的本地化名称列表。
采样次数与间隔决定了资源开销:高频长时采样会给目标机和自己都带来负担。做阈值巡检用分钟级间隔,只有在复现短时抖动时才用秒级。
远程采样依赖 WMI/性能库通道与足够权限,跨网段还要考虑防火墙。采不到数据时先验证通道,别先怀疑指标本身异常。

易错点

  • 计数器路径拼写或本地化不匹配:直接报错或返回空,先 -ListSet 验证名称
  • 脚本里硬编码英文计数器名:换到中文系统上批量失败
  • 采样误差被当异常:首次采样常需丢弃,取平均或后续样本更可靠
  • 高频长时采样:监控本身成为负载来源,还可能写满日志
  • 忽略远程通道要求:采不到数据时排查方向跑偏到系统本身

数据来源与参考

  • Microsoft Learn:Get-Counter

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌