如何解决无法在 Jprofiler 中传递命令文件
我尝试在离线模式下自动化 jprofiler 以使用以下批处理脚本连接到正在运行的 JVM。我无法传递会将输入带到 jprofiler 的命令文件。我仍然不确定需要传递给 jprofiler 的格式。我尝试以文本和文件格式传递,但没有成功。
BatchScript.bat
@echo off
TITLE "Profiling an application using JPofiler"
echo ***********Running jprofiler in non-interactive mode*****************
set "jprofiler_HOME=C:\dev\jprofiler11"
set jprofiler_CONfig_FILE_LOCATION=C:\dev\profiler_start_script\config.xml
"%jprofiler_HOME%"\bin\jpenable.exe --offline --id=116 --config=%jprofiler_CONfig_FILE_LOCATION%
if %ERRORLEVEL% NEQ 0 (
set ERROR= Jpenable is not able to profile the selected JVM,check jprofiler_HOME and jprofiler_CONfig_FILE_LOCATION is set to correct location.
goto endError)
set /p PID=Enter the process id of the JVM:
SET "JPCONTRL=%jprofiler_HOME%\bin\jpcontroller.exe"
"%JPCONTRL%" -n --non-interactive -f **--command-file=C:\dev\profiler_start_script\commands** %PID%
goto end
:endError
echo Error: %ERROR%
:end
endlocal
命令
startcpuRecording true
saveSnapshot C:\dev\build\trunk\WBScheduler\snapshot.jps
stopcpuRecording
谁能告诉我将输入文件发送到 jprofiler 需要什么格式? 我使用的是 jprofiler 11+ 版本。
解决方法
jpcontroller.exe 的参数应该是
-n --non-interactive -f C:\dev\profiler_start_script\commands %PID%
另外,命令应该包含一个睡眠,否则快照中将没有数据:
startCPURecording true
sleep 10
stopCPURecording
saveSnapshot C:\dev\build\trunk\WBScheduler\snapshot.jps
刚刚使用 JProfiler 11.1.4 对此进行了测试。如果您的问题仍然存在,请包含错误消息。也尝试手动调用命令。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。