WINDOWS 故障排除
Monosnap 占用了过多内存吗?
仅凭一张任务管理器截图无法证明存在内存泄漏。请使用下面这套可重复的方法,来区分临时峰值、保留的缓存、其他进程以及持续增长。
1. 记录一个干净的基准
- 保存你的工作并重启 Windows。
- 打开 Monosnap,但五分钟内不要进行任何截图。
- 用
Ctrl+Shift+Esc打开任务管理器。微软将任务管理器描述为查看进程资源消耗情况的内置视图。 - 记录 Monosnap 版本、Windows 版本、显示器数量,以及该进程显示的内存数值。
2. 运行同一组截图序列
选择一组你能够精确重复的操作序列,例如:
- 10 次不带标注的区域截图;
- 10 次带一个箭头和一处模糊的区域截图;
- 三段简短的录制,完全停止并保存;
- 五次云端上传;
- 完成最后一项操作后闲置 10 分钟。
在每个阶段之后记录内存。任务结束后回落的负载峰值,与在反复相同的循环中持续上升、且闲置后也不回落的数值,是两回事。
3. 查看正确的内存列
任务管理器默认的“内存”列适合快速对比,但并不是完整的诊断。微软的泄漏排查指南将物理工作集与已提交的虚拟内存区分开来,并建议在调查持续增长时检查提交(commit)行为。
4. 使用 Process Explorer 或 PerfMon 进行更长时间的观察
微软 Sysinternals Process Explorer 会展示进程句柄、已加载的 DLL 以及更详细的进程信息。对于时间序列数据,微软还提供了 性能监视器 ,并建议采集足够长的时间,以观察数值是趋于稳定还是持续增长。
保持机器和工作负载一致。不要拿一款应用刚启动的闲置状态,去和另一款应用正在录制的活跃状态作比较。
5. 排除常见的干扰因素
- 更新 Windows 和显示驱动程序,然后重复同样的测试。
- 如果问题只在混合 DPI 配置下出现,请改用单个显示器测试。
- 把截图和视频录制分开测试;编码器的资源表现各不相同。
- 查看这个偏高的数值究竟属于 Monosnap 本身、浏览器/WebView 子进程、桌面窗口管理器(DWM),还是另一款应用程序。
- 在断定某个异常值是持续性问题之前,先彻底重启后再重复一次。
6. 向厂商提交证据
一份有用的报告应包含应用版本、Windows 版本号、显示器/DPI 布局、精确的复现步骤、时间戳,以及同一组内存列随时间变化的 CSV 或截图。这比“它有一次占用了很多内存”更有可操作性。
公平地对比替代方案
如果问题依旧,可在保留 Monosnap 的同时安装另一款工具,彻底重启后运行完全相同的操作序列。Maxisnap 是 Windows 上的一个选择;ShareX、Greenshot 和 Snagit 也是。请使用 有据可查的 Maxisnap–Monosnap 对比 了解功能和方案,然后用你自己的测量数据来判断性能。