【发布时间】:2021-05-11 13:23:08
【问题描述】:
我正在针对 IoT Windows Forms 应用程序运行 dotMemory 命令行,该应用程序需要在自定义设备上进行数小时的测试。
我的目的是在应用程序在设备上运行时按时间获取内存快照。例如,如果测试设计为 24 小时运行,我希望每小时获取 10 秒的内存快照。
我找到了两种方法:
- 运行 dotMemory.exe 并按时间获取独立快照,使用
schtasks安排每次执行; - 使用
attach和trigger参数运行 dotMemory 并获取单个文件中的所有快照。
第一个场景已经为我准备好了,但很容易看出,第二个场景更适合收集数据后的进一步分析。
我可以使用如下命令启动它:
C:\dotMemory\dotMemory.exe attach $processId --trigger-on-activation --trigger-timer=10s --trigger-max-snapshots=24 --trigger-delay=3600s --save-to-dir=c:\dotMemory\Snapshots
我的问题来了:
- 如何在没有任何人工干预的情况下让命令/进程在达到最大快照值后停止?
参考:https://www.jetbrains.com/help/dotmemory/Working_with_dotMemory_Command-Line_Profiler.html
【问题讨论】:
标签: powershell memory jetbrains-ide profiler dotmemory