加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门站长网 (https://www.0592zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Windows – 如何知道具有WMI的进程的CPU和内存使用情况?

发布时间:2021-02-08 02:03:39 所属栏目:Windows 来源:网络整理
导读:我正在使用wmi和 python来跟踪在我的机器上运行的进程的行为. from win32com.client import GetObjectwmi = GetObject('winmgmts:')processes = wmi.InstancesOf('Win32_Process')for process in processes: print process.ProcessId,process.Name Win32_P

我正在使用wmi和 python来跟踪在我的机器上运行的进程的行为.

from win32com.client import GetObject
wmi = GetObject('winmgmts:')
processes = wmi.InstancesOf('Win32_Process')

for process in processes:
    print process.ProcessId,process.Name 

Win32_Process有一个lot of information,但我没有看到跟踪CPU消耗的任何东西.窗口任务监视器显示此信息,所以我认为可以得到它.

我认为WorkingSetSize属性给出了进程的内存消耗,但是我可以看到与TaskMonitor给出的值不同的值.

如何获得给定过程的这两个值?

更新:
任务监视器显示PrivateWorkingSetSize,这似乎与Win32_Process不兼容. WorkingSetSize和PrivateWorkingSetSize之间有什么区别?

我很确定你想要WMI perf课程
Win32_PerfFormattedData_PerfProc_Process或
Win32_PerfRawData_PerfProc_Process

例如.他们的属性PercentProcessorTime和WorkingSet

请注意,Perf类需要一些努力才能理解.

>格式化版本有问题(见嘿,脚本专家!文章Why Does My Performance Monitoring Script Keep Returning the Same Incorrect Values?)
>而原始数据类则需要将“CounterType”转化为正确的数学公式,以便根据原始数据计算值.参见How’s My Driving? Monitoring Performance Using WMI起始地点.

但是,这些WMI类应该给你所需的所有信息.

(编辑:厦门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!