簡體   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