用于监控指定进程ID在运行期间内存波动,并记录在日志文件中,只支持Windows平台。
- 过程中同时按下
Ctrl+C键强制退出监控,或者输入exit或quit或q正常退出监控。 - 过程中输入以
tag=开头的字符串,将会在日志中打标记,例如:tag=mytag。
注意: 进程ID必须存在,若过程中进程退出,则监控退出。
打开命令窗口,输入:
memory_monitor.exe -p 进程ID [-s 内存波动] [-f 监控频率] [-x 文件名前缀] [--help]
- 日志会打印在命令窗口。
- 日志会保存在日志文件中,每次执行命令时,都会新建一个日志文件,文件位于当前目录的
log文件夹下。默认文件名为:pid[进程ID]-时间戳.log,如:pid[32700]-20210127204506001.log。 - 同时会在相同路径下生成一个Excel文件,文件里存储了监控过程中收集到的一些内存数值、句柄数以及线程数,方便后续数据和图表分析。默认文件名为:
pid[进程ID]-时间戳.xlsx,如:pid[32700]-20210127204506001.xlsx。
[2021-01-28 10:40:39] Memory: WorkingSet 119.3 Mb(122116 Kb), Private 55.4 Mb(56748 Kb), Shared 63.8 Mb(65368 Kb)
[2021-01-28 10:40:39] Handles: 1155
[2021-01-28 10:40:39] Threads: 64
Memory:内存。-
WorkingSet:工作集(内存),进程当前正在使用的物理内存量。说明: 工作集(内存)=内存(专用工作集)+内存(共享工作集)。 -
Private:内存(专用工作集),由该进程所使用而其他进程无法使用的物理内存量。 -
Shared:内存(共享工作集),由该进程所使用且可与其他进程共享的物理内存量。
-
Handles:句柄数。Threads:线程数。
该类型日志在启动时打印,显示进程当前的内存值(分别显示Mb和Kb两种单位的数值),同时还显示句柄数和线程数。以上的值同样可以在任务管理器的详细信息标签页查看到。
[2021-01-28 10:41:03] --------------------------------------------------------------------------------
Memory: WorkingSet 124.3 Mb(127252 Kb), +0.6 Mb(568 Kb)
Private 60.4 Mb(61864 Kb), +0.6 Mb(568 Kb)
Shared 63.9 Mb(65388 Kb)
Handles: 1170
Threads: 69
[2021-01-28 10:41:41] --------------------------------------------------------------------------------
Memory: WorkingSet 122.6 Mb(125592 Kb), -1.6 Mb(1660 Kb)
Private 58.8 Mb(60196 Kb), -1.6 Mb(1668 Kb)
Shared 63.9 Mb(65396 Kb), +0.0 Mb(8 Kb)
Handles: 1155
Threads: 65
该类型日志在监控到内存波动时打印,显示进程当前的内存值(分别显示Mb和Kb两种单位的数值),还显示与上次监控时的内存波动值,+表示内存增长,-表示内存减少,同时还显示句柄数和线程数。
说明:用于设置要监控的进程ID(必填,不能为0)。
参数:进程ID。
参数类型:无符号整型。
说明:用于设置监控内存波动,当内存波动超过该值时,则打印控制台和日志(选填)。
参数:内存波动值。
参数类型:无符号整型。
参数单位:字节(Kb)。
参数范围:1Kb ~ 102400Kb(即100Mb)。
默认值:512。
说明:用于设置监控的频率,固定时间触发监控事件(选填)。
参数:监控频率。
参数类型:无符号整型。
参数单位:秒(s)。
参数范围:1s ~ 86400s(即1天)。
默认值:1。
说明:用于设置输出文件名的前缀(选填)。
参数:输出文件名前缀。
参数类型:字符串。
参数范围:数字、大小写英文字母,以及特殊字符:~!@#$%^&()_+`-={}[];',.
默认值:空。
说明:用于查看帮助。