You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Windows PowerShell中获取Python进程WMI类及内存监控问题

解决Python进程无法通过Win32_Process捕获的问题

可能原因及验证手段

  • 进程名称不匹配:你的Python进程可能并非以python.exe命名——比如用pythonw.exe运行(无控制台窗口),或是特定版本的命名如python3.11.exe。先通过Get-Process确认实际进程名:
    Get-Process | Where-Object {$_.Name -match "python"}
    
  • 架构兼容性问题:若你使用的是32位PowerShell,而Python是64位版本(反之亦然),WMI查询可能会遗漏进程。可以切换对应架构的PowerShell重试,或改用兼容性更好的Get-CimInstance:
    Get-CimInstance Win32_Process -Filter "name like '%python%'"
    

替代的内存查看方案

如果仍无法通过Win32_Process捕获,直接用Get-Process查询内存更直观:

# 查看所有Python进程的物理内存消耗(工作集)
Get-Process | Where-Object {$_.Name -match "python"} | Select-Object Name, Id, WorkingSet

# 按脚本名称过滤进程,同时查看命令行参数
Get-Process | Where-Object {$_.CommandLine -like "*script.py*"} | Select-Object Name, Id, WorkingSet, CommandLine

若需要更易读的内存单位,可转换为MB:

Get-Process | Where-Object {$_.Name -match "python"} | Select-Object Name, Id, @{Name="WorkingSet(MB)"; Expression={[math]::Round($_.WorkingSet/1MB,2)}}

关于Win32_Process的补充说明

Win32_Process类理论上涵盖所有用户态Win32进程,不存在常规Python进程"不属于该类"的情况。多数查询失败的原因是名称匹配错误、架构不兼容,或是脚本执行完成后进程已退出。

内容的提问来源于stack exchange,提问作者Jayanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:05:16