簡體   English   中英

使用VisualVM在本地開發服務器中分析GAE應用程序

[英]Profile GAE application in local dev server with VisualVM

我有一個消耗大量內存的應用程序,我想對其進行概要分析,但是我無法啟動該應用程序並傳遞參數-agentpath; 添加此參數后,它將等待事件探查器連接,因此GAE應用程序不會啟動。 我收到此消息

Profiler Agent: Waiting for connection on port 5140 (Protocol version: 15)

我正在使用Maven啟動GAE應用程序。 啟動示例命令:

java -agentpath:C:/visualvm_139/profiler/lib/deployed/jdk16/windows-amd64/profilerinterface.dll=C:\visualvm_139\profiler\lib,5140 -javaagent:C:\Users\User\.m2\repository\com\google\appengine\appengine-java-sdk\1.9.59\appengine-java-sdk\appengine-java-sdk-1.9.59\lib\agent\appengine-agent.jar -Dappengine.fullscan.seconds=5 -classpath C:\Users\User\.m2\repository\com\google\appengine\appengine-java-sdk\1.9.59\appengine-java-sdk\appengine-java-sdk-1.9.59\lib\appengine-tools-api.jar com.google.appengine.tools.development.DevAppServerMain -p 8888 C:\Users\User\eclipse\workspace\App\

一種替代解決方案是使用;

-Xdebug -agentlib:jdwp = transport = dt_socket,address = 8000,server = y,suspend = y

這將阻止該應用程序,直到在端口8000上連接了調試客戶端為止。

如果將VisualVM與App Engine一起使用時遇到麻煩,則可以嘗試另一種方法,例如使用Stackdriver監視Java VM的不同方面,例如內存使用情況。

鏈接包含有關如何設置Stackdriver Agent以及使用其監視功能確定內存泄漏源的所有有用信息。

如果您不需要分析應用程序的啟動情況(從描述中看起來像您不需要),只需正常啟動應用程序即可(無需-agentpath)。 啟動VisualVM,打開您的應用程序,然后轉到Profiler選項卡。
如果您需要配置應用程序的啟動,請使用Startup profiler 它會告訴您您應該做什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM