当前位置: 首页 > news >正文

Process Monitor 学习笔记(5.9):Procmon 的自动化操作与命令行速查

Process Monitor 学习笔记(5.9):Procmon 的自动化操作与命令行速查

  • Process Monitor 学习笔记(5.9):Procmon 的自动化操作与命令行速查
    • 1)为什么要自动化?
    • 2)常用命令行开关(速查表)
    • 3)典型自动化用法
      • 用法 A:**无界面长跑采集(环形缓冲)**
      • 用法 B:**定时采集 + 定时收束(双批处理)**
      • 用法 C:**一键重放历史日志(套用新模板)**
    • 4)高质量“诊断模板(PMC)”的自动化准则
    • 5)与计划任务整合(示例)
    • 6)生产环境的三条“止损线”
    • 7)常见坑 & 快速修复
    • 8)一键总控脚本(可直接改造)
    • ✅ 小结

Process Monitor 学习笔记(5.9):Procmon 的自动化操作与命令行速查

目标:把 Procmon 从“手工点点点”的 GUI 工具,升级为 可脚本化、可定时、可批量复用 的诊断武器。

说明:不同版本的 Procmon 命令行参数可能略有差异,下文给出业界常用组合实战脚本。若你的版本提示不支持,请以本机 procmon 与官方说明为准。


1)为什么要自动化?

  • 无人值守:夜间、节假日复现问题,照样抓得到。
  • 可重复:一套配置(PMC)走天下,团队共享。
  • 低扰动:最小化/静默运行,减少对问题现场的影响。
  • 可集成:配合计划任务、DevOps/EDR 统一拉取证据。

2)常用命令行开关(速查表)

场景常用参数作用
首次运行/AcceptEula静默接受 EULA(无人值守必备)
加载模板/LoadConfig <cfg.pmc>载入过滤器/高亮/列集等配置
静默启动/Quiet/Minimized静默(或最小化)启动并开始采集
落盘采集/BackingFile <log.pml>事件写入后台文件(环形缓冲,更抗压)
停止采集/Terminate结束当前采集实例并安全关闭日志
打开日志/OpenLog <log.pml>打开既有 PML
导出结果`/SaveAs <out.csvout.xmlout.pml>`将当前打开的日志导出为 CSV/XML/PML
载入后再导出/LoadConfig <cfg.pmc> + /OpenLog + /SaveAs用统一模板重放并导出已有日志

小贴士:PMC 是“方法论”(过滤/高亮/列集),PML 是“数据结果”。


3)典型自动化用法

用法 A:无界面长跑采集(环形缓冲)

:: 1) 以团队模板静默启动并采集到环形日志
procmon.exe ^/AcceptEula ^/LoadConfig C:\diag\templates\Procmon_HighIO_v2.pmc ^/Quiet ^/BackingFile D:\pm-logs\trace_running.pml:: ……让它跑着即可(计划任务/脚本控制结束时机)
  • 适合:间歇性复现的问题、长时间观察
  • 优点:占内存更低、日志不炸盘(环形覆盖)。

用法 B:定时采集 + 定时收束(双批处理)

start_capture.cmd

@echo off
set LOG=D:\pm-logs\trace_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%.pml
set CFG=C:\diag\templates\Procmon_Baseline_v1.pmcprocmon.exe /AcceptEula /LoadConfig "%CFG%" /Quiet /BackingFile "%LOG%"

stop_and_export.cmd

@echo off
set LOG=%1
if "%LOG%"=="" set LOG=D:\pm-logs\trace_running.pml:: 1) 停止当前采集
procmon.exe /Terminate:: 2) 用统一模板打开并导出 CSV 便于检索
set OUT=%LOG:.pml=_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.csv%
procmon.exe /LoadConfig C:\diag\templates\Procmon_HighlightErrors_v1.pmc ^/OpenLog "%LOG%" ^/SaveAs "%OUT%"echo Exported to %OUT%
  • 通过任务计划:18:00 执行 start_capture.cmd,23:00 执行 stop_and_export.cmd
  • 导出的 CSV 便于用 Excel/Power BI/grep 二次检索。

用法 C:一键重放历史日志(套用新模板)

procmon.exe /LoadConfig C:\diag\templates\Procmon_RegWrite_v1.pmc ^/OpenLog D:\pm-logs\incident_20250302.pml ^/SaveAs D:\pm-logs\incident_20250302_filtered.csv
  • 适合:事后复盘,统一口径再次过滤并批量导出。

4)高质量“诊断模板(PMC)”的自动化准则

  1. 先过滤,再落盘:模板中勾选 Drop Filtered Events,把无关事件挡在源头(长跑更稳)。
  2. 高亮异常优先:ACCESS DENIED / NAME NOT FOUND / SHARING VIOLATION / TIMEOUT。
  3. 列集为分析而生Time of Day, Process Name, PID, Operation, Path, Result, Detail, Duration
  4. 把栈/Profiling 单做“调试模板”:平时关闭;疑难时短跑开启。
  5. 路径用前缀/变量化:少写死个人路径,更多用程序名/目录前缀。
  6. 统一命名与版本Procmon_<场景>_vX.pmc,并带 CHANGELOG。

5)与计划任务整合(示例)

  • 触发器:每天 18:00 开始采集;23:00 停止并导出
  • 运行账户:本地管理员/服务账户
  • 选项:不在电池电量低时停止;允许运行超过 3 小时

记得第一次在该账户下以 /AcceptEula 方式跑一遍,避免 EULA 弹窗阻断无人值守。


6)生产环境的三条“止损线”

  • 磁盘健康:将 /BackingFile 放到专用分区/盘;保留 10GB 以上缓冲。
  • 白名单:把 procmon.exe 与日志目录加入杀软/EDR 排除清单,避免实时防护拖慢采集。
  • 资源上限:长跑模板一定勾 Drop Filtered Events;必要时降低采集维度(先抓 IO/注册表,后补栈)。

7)常见坑 & 快速修复

现象可能原因快速修复
/LoadConfig 后仍“满屏雪花”没勾 Drop Filtered Events,或过滤条件过宽在 PMC 勾选 Drop;按进程名/目录前缀收窄
导出 CSV/XML 为空停止前未刷新/日志未正确关闭procmon.exe /Terminate,再 /OpenLog + /SaveAs
无人值守时卡在首启弹窗EULA 未被接受/AcceptEula;用目标账户预跑一次
另一台机器套用模板失灵路径/语言/版本差异改为更中性匹配(进程名/Operation/目录前缀)并统一 Procmon 版本

8)一键总控脚本(可直接改造)

@echo off
set CFG=C:\diag\templates\Procmon_HighIO_v2.pmc
set LOGROOT=D:\pm-logs
if not exist "%LOGROOT%" mkdir "%LOGROOT%"set TS=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%
set LOG=%LOGROOT%\trace_%TS%.pml
set CSV=%LOGROOT%\trace_%TS%.csv:: 启动采集(静默+环形落盘)
procmon.exe /AcceptEula /LoadConfig "%CFG%" /Quiet /BackingFile "%LOG%":: ——此处等待/复现(或由计划任务分离 stop 步骤)——
timeout /t 900 >nul  & rem 演示:采集15分钟:: 收束并导出
procmon.exe /Terminate
procmon.exe /LoadConfig "%CFG%" /OpenLog "%LOG%" /SaveAs "%CSV%"echo Done. CSV: %CSV%

✅ 小结

  • 命令行让 Procmon 变身自动化“数据采集器”:可定时、可静默、可模板化。
  • /LoadConfig + /BackingFile + /Terminate + /SaveAs 是四件套,覆盖 90% 的自动化场景。
  • PMC 模板库 标准化团队抓取口径,配合计划任务与批处理,实现 稳定、低扰动、可复盘 的系统级诊断。
http://www.dtcms.com/a/443067.html

相关文章:

  • 唐山网站优化中国风网页设计欣赏
  • 微网站开发需要多少费用主营网站开发
  • 网站开发者密钥sousou提交网站入口
  • 网页版qq怎么登录关键词优化的最佳方法
  • 网站备案注销怎么恢复河北省和城乡建设厅网站
  • 网站建设设计服务温州服务网站建设
  • 做交易网站需要多少钱wordpress改字体插件
  • 这样可以做网站绍兴企业网站建站模板
  • Python isinstance()和type()的区别
  • 网站备案app网站建设分金手指排名四
  • 深度剖析 C++ 之 string(上)篇
  • 前端界面不会在浏览器上显示
  • 企业网站选wordpress和织梦科技企业网站如何建设
  • OpenCoordV1.3.0正式发布,新增平面四参数转换、规范法历元转换
  • 【HarmonyOS应用】《账理通》更新啦!
  • 免费1级做爰片打网站租车做什么网站推广
  • 足球网站网站建设咸阳学校网站建设哪家好
  • 工程中标查询网站营销网站 深圳
  • Midb-Manager:轻量级前端数据管理利器,打造专属的.midb数据库
  • 上海网站开发售后服务qq登录网页版登录入口官网
  • 网站标题在哪里凡科网怎么制作小程序
  • linux声卡设置
  • 网站模板库软件前端网站大全
  • 让移动网站重庆百度网站排名
  • 整体设计 逻辑系统程序 之10 三种逻辑表述形式、形式化体系构建及关联规则(正则 / 三区逻辑)之3
  • 织梦模板建站wordpress 图片加链接地址
  • 华为OD机试C卷 - 寻找最大价值矿堆 - DFS - (Java C++ JavaScript Python)
  • 2025:现代硬件限制,系统设计考虑
  • 温州网站外包怎么用网站建设
  • DAY 40 训练和测试的规范写法-2025.10.4