繁体   English   中英

适用于JVM的Yourkit Java分析-Ubuntu

[英]Yourkit Java Profiling for JVM - Ubuntu

问题:我做了什么:

  1. 我下载了适用于Linux的试用版( https://www.yourkit.com/download/)YourKit Java Profiler,并在我的AWS实例中进行了测试。

    1. 我正在尝试通过以下步骤手动启用分析

    (-agentpath:/home/yourkit/yjp-2015-build-15078/bin/linux-x86-64/libyjpagent.so)

    1. 我收到以下错误,

    错误:我正在得到:

[YourKit Java Profiler 2015 build 15078]无法创建日志文件:/home/ubuntu/.yjp/log/java-1884.log要指定备用日志目录,请使用启动选项'logdir'15078 0.000:命令行:java -agentpath:/主页/yourkit/yjp-2015-build-15078/bin/linux-x86-64/libyjpagent.so 15078 0.000:可执行文件:/ usr / lib / jvm / java-8-oracle / jre / bin / java 15078 0.000:uname :sysname:Linux版本:3.13.0-48-通用版本:#80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015计算机:x86_64 15078 0.000:Linux; fast_thread_cpu_time = 1; 64位进程15078 0.001:隐藏:36022997176V9ZXX3UXV5UWZ513Z98931W 64位计算机15078 0.001:今天是20151201 15078 0.001:full_build_stamp:15078 201511161426 15078 0.001:代理库路径:/ home / yourkit / yjp-2015-build-15078 / bin / linux -x86-64 / libyjpagent.so 15078 0.001:Agent_OnLoad:orig_options = full_options = 15078 0.001:阶段:1 15078 0.001:jvmtiVersion:30010203 15078 0.001:供应商:Oracle Corporation 15078 0.001:版本:25.66-b17 15078 0.001:信息:混合模式,共享15078 0.001:检测到Java 8 15078 0.001:session_id:8093167346477(1448960813,1884)15078 0.003:line_method:1 15078 0.008:重用现有的jar文件:/tmp/yjp201511161426.jar 15078 0.008:JVMTI 30010203; 25.66-b17; 甲骨文公司; 混合模式,共享; JR = 0; I = 0 15078 0.025:成功注册的探针类别:120已注册:.AWTEvents $ EventQueue_dispatchEvent_Probe已注册:.AgentLoadingSupport $ JBoss已注册:.AgentLoadingSupport $ OSGi1已注册:.AgentLoadingSupport $ OSGi2已注册:.AgentLoadingSupport $ OSGi3已注册:.DataPros $ .Databases $ Connection_createStatement_Probe已注册:.Databases $ Connection_prepareStatement_Probe已注册:.Databases $ DataSource_getConnection_Probe已注册:.Databases $ DataSource_setName_Probe已注册:.Databases $ DriverManager_getConnection_Probe已注册:.Databases $ Driver_connect_Proeded:.Databases $ Driver_connect_Probeed:.Databases $ Driver_connect_Probeed $ PreparedStatement_addBatch_Probe已注册:.Databases $ PreparedStatement_clearBatch_Probe已注册:.Databases $ PreparedStatement_execute_Probe已注册:.Databases $ Statement_addBatch_Probe已注册:.Databases $ Statement_clearBa tch_Probe已注册:.Databases $ Statement_close_Probe已注册:.Databases $ Statement_executeBatch_Probe已注册:.Databases $ Statement_execute_Probe已注册:.DatabasesLW $ Connection_close_Probe已注册:.DatabasesLW $ Connection_createStatement_ProbeWeds_Weds_Drive_Wed_Wed_Wed_Wed_Wed_Wed_L :.DatabasesLW $ Driver_connect_Probe已注册:.DatabasesLW $ PooledConnection_getConnection_Probe已注册:.DatabasesLW $ PreparedStatement_execute_Probe已注册:.DatabasesLW $ Statement_close_Probe已注册:.DatabasesLW $ Statement_execute_Probe_Probe_Probe1已注册:.DatabasesLW $ Statement_Probe_Probe1已注册:.DatabasesLW $ Files $ FileInputStream_close_Probe已注册:.Files $ FileInputStream_open_Probe已注册:.Files $ FileInputStream_readBytes_Probe已注册:.Files $ FileIn putStream_read_Probe已注册:.Files $ FileOutputStream_close_Probe已注册:.Files $ FileOutputStream_open_Probe已注册:.Files $ FileOutputStream_writeBytes_Probe已注册:.Files $ FileOutputStream_write_Probe已注册:.Files $ GetChannel_Probe已注册:.Files $ RandomededededFiles :.Files $ RandomAccessFile_read_Probe已注册:.Files $ RandomAccessFile_writeBytes_Probe已注册:.Files $ RandomAccessFile_write_Probe已注册:.FilesLW $ FileChannelsTelemetry $ FileChannel_read_Probe已注册:.FilesLW $ FileChannelsTelemetry $ File_File_LedS $ File_Channel_ProbeFiles :.FilesLW $ FileStreamsTelemetry $ FileInputStream_open_Probe注册:.FilesLW $ FileStreamsTelemetry $ FileInputStream_readBytes_Probe注册:.FilesLW $ FileStreamsTelemetry $ File InputStream_read_Probe注册:.FilesLW $ FileStreamsTelemetry $ FileOutputStream_close_Probe注册:.FilesLW $ FileStreamsTelemetry $ FileOutputStream_open_Probe注册:.FilesLW $ FileStreamsTelemetry $ FileOutputStream_writeBytes_Probe注册:.FilesLW $ FileStreamsTelemetry $ FileOutputStream_write_Probe注册:.FilesLW $ RandomAccessFilesTelemetry $ RandomAccessFile_close_Probe注册:.FilesLW $ RandomAccessFilesTelemetry $ RandomAccessFile_open_Probe注册:.FilesLW $ RandomAccessFilesTelemetry $ RandomAccessFile_readBytes_Probe注册:.FilesLW $ RandomAccessFilesTelemetry $ RandomAccessFile_read_Probe注册:.FilesLW $ RandomAccessFilesTelemetry $ RandomAccessFile_writeBytes_Probe注册:.FilesLW $ RandomAccessFilesTelemetry $ RandomAccessFile_write_Probe注册:.JNDI $ DirContext_1注册:.JNDI $ DirContext_2注册:.JNDI $ NamingContext_1注册:.JNDI $ NamingContext_2已注册:.JUnitTests $ Old_Run_Probe已注册:.JUnitTests $ Old_SetUp_Probe已注册: .JUnitTests $ Old_TearDown_Probe已注册:.JUnitTests $ Run_Probe已注册:.JUnitTests $ SetUp_Probe已注册:.JUnitTests $ TearDown_Probe已注册:.Processes $ FileOutputStream_writeBytes_Probe已注册:.Processes $ FileOutputStream_write_Probe Register_Readed:.Processes $ InputBeed :: Processes $ Input $ ProcessImpl_getErrorStream_Probe已注册:.Processes $ ProcessImpl_getInputStream_Probe已注册:.Processes $ ProcessImpl_getOutputStream_Probe已注册:.Processes $ ProcessImpl_start_Probe已注册:.Processes $ ProcessImpl_waitFor_Probe已注册:.Processes $ UnixProcess_wait_Process_Service_Service_Service_Service_Servlet:已注册已注册:.ServletsLW $ Filter_doFilter_Probe已注册:.ServletsLW $ HttpJspPage_jspService_Probe已注册:.ServletsLW $ Servlet_service_Probe已注册:.Sockets $ ServerSocketChannel_acce pt_Probe已注册:.Sockets $ ServerSocket_accept_Probe已注册:.Sockets $ SocketChannel_close_Probe已注册:.Sockets $ SocketChannel_connect_Probe已注册:.Sockets $ SocketChannel_read_Probe已注册:.Sockets $ SocketChannel_write_Probe已注册:.Sockets $ Sockets $ Socket_Stream_write_Probe已注册:: .Sockets $ SocketChannel_write_Probe已注册: :.Sockets $ Socket_connect_Probe已注册:.Sockets $ Socket_getInputStream_Probe已注册:.Sockets $ Socket_getOutputStream_Probe已注册:.SocketsLW $ ServerSocketChannel_accept_Probe已注册:.SocketsLW $ ServerSocket_accept_Probe已注册:.SocketsLW $ SocketChannel_Close_ProW $$已注册:.SocketsLW $ SocketChannel_Close_ProBe已注册:.Sockets SocketsLW $ SocketChannel_write_Probe已注册:.SocketsLW $ SocketInputStream_read_Probe已注册:.SocketsLW $ SocketOutputStream_write_Probe已注册:.SocketsLW $ Socket_close_Probe已注册:.SocketsLW $ Socket_connect_Probe已注册:.TestNG $ Test_Probe已注册:.Threads $ Thread_constructor_Probe已注册:.Threads $ Thread_run_Probe已注册:.Threads $ Thread_setName_Probe已注册:.Threads $ Thread_start_Probe 15078 0.089:agentStart:1 15078 0.089:agentStart:2 15078 0.090:agent 15078 0.106:跟踪=关闭:大型方法:3945 sun.nio.cs.StandardCharsets $ Aliases.init(java.lang.Object [])15078 0.211:agentInit:1 15078 0.212:agentInit:核心已加载15078 0.216:setTriggers:15078 0.277:setTriggers:取消注册:0 15078 0.277:setTriggers:要注册的方法侦听器:0 15078 0.277:setTriggers:OK 15078 0.277:ourUnsafe:true 15078 0.277:shmem 42341490:OK 15078 0.277:shmem 4234148E:OK 15078 0.298:Profiler代理正在侦听端口10001 15078 0.301: *提示* :要获取分析结果,请从探查器UI 15078 0.301连接到应用程序:agentInit:Core.init()称为15078 0.301:agentInit:OK 15078 0.302:startProfiling:1 15078 0.302 :startProfiling: OK 15078 0.302:套接字超时:30000 15078 0.358:SP:引脚java.io.FileNotFoundException 15078 0.358:SP:引脚java.security.PrivilegedActionException 15078 0.399:SP:引脚java.lang.ClassNotFoundException 15078 0.432:跟踪=关闭:大型方法:4108 sun.text.resources.FormatData.getContents()15078 0.455:SP:pin java.lang.NoSuchFieldException 15078 0.473:tracing = off:大型方法:8578 sun.util.resources.CurrencyNames.getContents()用法:java [ -options]类[args ...](用于执行一个类)或java [-options] -jar jarfile [args ...](用于执行jar文件),其中的选项包括:-d32使用32位数据-d64,如果可用,则使用模型-d64,如果可用,则使用64位数据模型-server选择“服务器” VM。默认VM是服务器,因为您正在服务器级计算机上运行。 -cp -classpath A:用于搜索类文件的目录,JAR存档和ZIP存档的分隔列表。 -D =设置系统属性-verbose:[class | gc | jni]启用详细输出-version打印产品版本并退出-version:警告:不推荐使用此功能,在将来的版本中将删除此功能。 要求指定的版本运行-showversion打印产品版本并继续-jre-restrict-search | -no-jre-restrict-search警告:不推荐使用此功能,在将来的版本中将删除该功能。 在版本搜索中包含/排除用户专用JRE-? -help打印此帮助消息-X在非标准选项上打印帮助-ea [:... |:] -enableassertions [:... |:]启用具有指定粒度的断言-da [:... |:] -disableassertions [:... |:]禁用具有指定粒度的断言-esa | -enablesystemassertions启用系统断言-dsa | -disablesystemassertions禁用系统断言-agentlib:[=]加载本地代理库,例如-agentlib:hprof另请参见-agentlib:jdwp = help和-agentlib:hprof = help -agentpath:[=]通过完整路径名加载本地代理库-javaagent:[=]加载Java编程语言代理,请参见java.lang.instrument -splash:显示具有指定图像的启动屏幕请参阅http://www.oracle.com/technetwork/java/javase/documentation/index.html以获取更多细节。 15078 0.492:vmDeath:1 15078 0.492:vmDeath:2 15078 0.492:vmDeath:3 15078 0.492:vmDeath:4 15078 0.492:vmDeath:OK

问题:

1. Need Installation steps Yourkit Java Profiling for JVM - Ubuntu.

2. How to connect through remote.

我每天都在YourKitJavaProfiler上工作,并且在我的debian OS上运行良好。

1.阅读输出

[YourKit Java Profiler 2015内部版本15078]无法创建日志文件:/home/ubuntu/.yjp/log/java-1884.log要指定备用日志目录,请使用启动选项'logdir'

根据您的日志文件,il看起来像是其Java进程的运行无权访问/home/ubuntu/.yjp/log/文件夹的用户。

向您的用户授予访问权限,重新启动您的应用程序,然后检查其是否有效。

2.如何监视远程应用程序

对于远程分析,请像在AWS服务器上的本地设置一样,使用事件探查器代理启动JVM,并在运行远程应用程序时,从事件探查器UI连接到它以执行事件探查。

在某些情况下,您将无法通过运行服务器代理进行手动配置。 请参阅“ Enabling profiling manually 文档页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM