我正在使用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
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类应该给你所需的所有信息.
原文地址:https://www.jb51.cc/windows/370254.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。