使用 Yourkit 分析 Spray HTTP 应用程序

Profiling Spray HTTP Application using Yourkit

我在远程机器上有一个基于 Spray 的 HTTP 应用程序 运行,我想使用 Yourkit 对其进行分析。我按照 Yourkit 网站中提到的说明进行操作,但最终遇到了这个错误:

root@remote-worker:/home/joe/yjp-2016.02/bin# sh yjp.sh -attach 19960
Attaching to process 19960 using default options
[YourKit Java Profiler 2016.02-b36] Log file: /root/.yjp/log/yjp-23609.log
com.yourkit.runtime.PresentableException: com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
    at com.yourkit.f.a.a(a:93)
    at com.yourkit.f.b.attach(a:188)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.yourkit.Main.run(a:17)

Attach to a running JVM failed.

Solution: start JVM with the profiler agent instead of attaching it to a running JVM:
https://www.yourkit.com/docs/java/help/running_with_profiler.jsp
root@remote-worker:/home/joe/yjp-2016.02/bin# 

解决方案打印在消息末尾:使用探查器代理启动 JVM,而不是将其附加到 运行 JVM:https://www.yourkit.com/docs/java/help/running_with_profiler.jsp

Attach 仅适用于 HotSpot JVM; 运行 JVM 进程应该有足够的权限。请在 "The attach mode limitations" https://www.yourkit.com/docs/java/help/attach_agent.jsp

中查找详细信息