如何以指定的时间间隔捕获进程的内存和当前CPU使用情况

时间:2012-10-09 08:29:44

标签: performance memory cpu capture

要求是每5分钟在一个日志文件中捕获4个进程(7005.exe,7006.exe,7007.exe,7008.exe)中的以下信息。

文件名,使用的内存(kb),Cpu%,时间戳 7005.exe,10240,75,10:30 AM 7006.exe,10240,75,10:30 AM 7005.exe,10242,75,10:35 AM 7006.exe,10000,75,10:35 AM

我尝试使用任务列表,但我不擅长命令文件脚本。

请指教,

感谢。

3 个答案:

答案 0 :(得分:0)

你想要sysinternals psList吗?

答案 1 :(得分:0)

结帐Windows Management Instrumentation,特别是tasks/process API。该页面上有一个示例,用于通过Process对象收集进程CPU信息。

答案 2 :(得分:0)

我在批处理文件中使用了这些命令,我​​唯一的问题是捕获应用程序名称和内存使用情况的时间。关于如何在流程的同一行中捕获日期和时间的任何建议?

echo %Date% %TIME% >> c:\ym\tasklist.log

tasklist /fi "memusage gt 100000" >> c:\tasklist.log

输出:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
explorer.exe                   476 Console                    2    189,384 K
Maxthon.exe                   8104 Console                    2    275,540 K
OUTLOOK.EXE                   5320 Console                    2    189,992 K
Tue 10/09/2012 15:17:00.20 

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
explorer.exe                   476 Console                    2    187,936 K
Maxthon.exe                   8104 Console                    2    275,520 K
OUTLOOK.EXE                   5320 Console                    2    190,076 K
Tue 10/09/2012 15:19:00.35 

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
explorer.exe                   476 Console                    2    188,044 K
Maxthon.exe                   8104 Console                    2    300,520 K
OUTLOOK.EXE                   5320 Console                    2    190,080 K

我面临的挑战是在每个流程旁边加上时间戳。有人建议。