0
我做了什么:YourKit Java剖析回回JVM - 远程连接向导
- 我下载试用版(https://www.yourkit.com/download/)YourKit Java剖析了Linux的和测试我的AWS实例。
- 我想通过启用分析远程连接通过以下步骤向导,
/home/yourkit/yjp-2015-build-15078/bin/bin/yjp.sh -attach <PID>
- 我收到以下错误,
我得到什么 - 错误:
[YourKit Java Profiler 2015 build 15078] Cannot create log file: /home/ubuntu/.yjp/log/yjp-2041.log
To specify alternate log directory use startup option 'logdir'
15078 0.021: Command line:
/home/yourkit/yjp-2015-build-15078/bin/../jre64/bin/java
-Xmx4G
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnError=/home/yourkit/yjp-2015-build-15078/bin/../bin/yjp.sh -on_error %p
-jar
/home/yourkit/yjp-2015-build-15078/bin/../lib/yjp.jar
-attach
1476
15078 0.021: Executable: /home/yourkit/yjp-2015-build-15078/jre64/bin/java
15078 0.021: uname:
sysname: Linux
release: 3.13.0-48-generic
version: #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015
machine: x86_64
15078 0.021: Linux; fast_thread_cpu_time=1; 64-bit process
15078 0.021: hid: 36022997176V9ZXX3UXV5UWZ513Z98931W 64-bit machine
15078 0.021: Today is 20151201
15078 0.021: full_build_stamp: 15078 201511161426
15078 0.021: Agent library path: /home/yourkit/yjp-2015-build-15078/bin/linux-x86-64/libyjpagent.so
15078 0.021:
---------------------------------------------------------------------
Product: YourKit Java Profiler 2015 build 15078
Build: 15078 on 201511161343
JDK: 1.8.0_65
VM: Java HotSpot(TM) 64-Bit Server VM
Vendor: Oracle Corporation
OS: Linux
OS version: 3.13.0-48-generic
OS arch: amd64
Date and time: Tue Dec 01 11:01:56 UTC 2015
Properties:
awt.toolkit=sun.awt.X11.XToolkit
file.encoding.pkg=sun.io
file.encoding=UTF-8
file.separator=/
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path=/home/yourkit/yjp-2015-build-15078/bin/../lib/yjp.jar
java.class.version=52.0
java.endorsed.dirs=/home/yourkit/yjp-2015-build-15078/jre64/lib/endorsed
java.ext.dirs=/home/yourkit/yjp-2015-build-15078/jre64/lib/ext:/usr/java/packages/lib/ext
java.home=/home/yourkit/yjp-2015-build-15078/jre64
java.io.tmpdir=/tmp
java.library.path=/home/yourkit/yjp-2015-build-15078/bin/linux-x86-64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.8.0_65-b17
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=1.8
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
java.vendor.url=http://java.oracle.com/
java.vendor=Oracle Corporation
java.version=1.8.0_65
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=1.8
java.vm.vendor=Oracle Corporation
java.vm.version=25.65-b01
line.separator=
os.arch=amd64
os.name=Linux
os.version=3.13.0-48-generic
path.separator=:
sun.arch.data.model=64
sun.boot.class.path=/home/yourkit/yjp-2015-build-15078/jre64/lib/resources.jar:/home/yourkit/yjp-2015-build-15078/jre64/lib/rt.jar:/home/yourkit/yjp-2015-build-15078/jre64/lib/sunrsasign.jar:/home/yourkit/yjp-2015-build-15078/jre64/lib/jsse.jar:/home/yourkit/yjp-2015-build-15078/jre64/lib/jce.jar:/home/yourkit/yjp-2015-build-15078/jre64/lib/charsets.jar:/home/yourkit/yjp-2015-build-15078/jre64/lib/jfr.jar:/home/yourkit/yjp-2015-build-15078/jre64/classes
sun.boot.library.path=/home/yourkit/yjp-2015-build-15078/jre64/lib/amd64
sun.cpu.endian=little
sun.cpu.isalist=
sun.font.fontmanager=sun.awt.X11FontManager
sun.io.unicode.encoding=UnicodeLittle
sun.java.command=/home/yourkit/yjp-2015-build-15078/bin/../lib/yjp.jar -attach 1476
sun.java.launcher=SUN_STANDARD
sun.jnu.encoding=UTF-8
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.os.patch.level=unknown
user.country=US
user.dir=/home/yourkit/yjp-2015-build-15078/bin
user.home=/home/ubuntu
user.language=en
user.name=ubuntu
user.timezone=Etc/UTC
Environment:
DERBY_HOME=/usr/lib/jvm/java-8-oracle/db
HOME=/home/ubuntu
J2REDIR=/usr/lib/jvm/java-8-oracle/jre
J2SDKDIR=/usr/lib/jvm/java-8-oracle
JAVA_HOME=/usr/lib/jvm/java-8-oracle
LANG=en_US.UTF-8
LD_LIBRARY_PATH=/home/yourkit/yjp-2015-build-15078/bin/linux-x86-64
LESSCLOSE=/usr/bin/lesspipe %s %s
LESSOPEN=| /usr/bin/lesspipe %s
LOGNAME=ubuntu
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
MAIL=/var/mail/ubuntu
NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat
OLDPWD=/home/ubuntu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
PWD=/home/yourkit/yjp-2015-build-15078/bin
SHELL=/bin/bash
SHLVL=1
SSH_CLIENT=49.207.180.185 40292 22
SSH_CONNECTION=49.207.180.185 40292 172.31.24.197 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=ubuntu
XDG_RUNTIME_DIR=/run/user/1000
XDG_SESSION_ID=1
XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt
_=./yjp.sh
---------------------------------------------------------------------
15078 0.022: com.yourkit.Main1: starting...
15078 0.022: com.yourkit.Main1: number of args: 2
15078 0.022: com.yourkit.Main1: arg = -attach
15078 0.022: com.yourkit.Main1: arg = 1476
15078 0.088: com.yourkit.Main1: oomeDumperStatus: 1
Attaching to process 1476 using default options
15078 0.100: com.yourkit.g.u.q: Process type: _64_BIT
15078 0.100: com.yourkit.g.u.q: Process path: /usr/lib/jvm/java-7-openjdk-amd64/bin/java
15078 0.104: com.yourkit.g.u.q: Trying to attach as to a 64-bit JVM:
/home/yourkit/yjp-2015-build-15078/jre64/bin/java
-Xbootclasspath/a:/home/yourkit/yjp-2015-build-15078/lib/tools.jar
-Dfile.encoding=UTF-8
-cp
/home/yourkit/yjp-2015-build-15078/lib/yjp.jar
com.yourkit.Attach
1476
/home/yourkit/yjp-2015-build-15078/bin/linux-x86-64/libyjpagent.so
15078 0.193: com.yourkit.g.u.q: Command failed:
exit code: 3
stdout:
PID: 1476
path_to_agent: /home/yourkit/yjp-2015-build-15078/bin/linux-x86-64/libyjpagent.so
startupOptions:
java.io.IOException: Operation not permitted
at sun.tools.attach.LinuxVirtualMachine.sendQuitTo(Native Method)
at sun.tools.attach.LinuxVirtualMachine.<init>(LinuxVirtualMachine.java:91)
at sun.tools.attach.LinuxAttachProvider.attachVirtualMachine(LinuxAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:208)
at com.yourkit.Attach.main(a:94)
com.yourkit.runtime.PresentableException: java.io.IOException: Operation not permitted
at com.yourkit.g.u.q.a(a:46)
at com.yourkit.g.u.c.a(a:122)
at com.yourkit.Main1.for(a:300)
at com.yourkit.Main1.entry(a:320)
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:497)
at com.yourkit.Main$2.run(a:21)
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
注意:我的问题是,
- 需要安装步骤Java Profiler for JVM。
- 如何通过远程连接。
请首先修复日志('无法创建日志文件:/首页/ Ubuntu的/ .yjp /日志/ YJP-2041.log'),然后发布日志文件。这可能会有所帮助。 –