回答
當你進行分析時,你應該儘可能地儘可能地重現生產環境。硬件(核心,內存等)和軟件(操作系統,JVM版本)的差異可以使分析結果與運行時環境一樣獨特。
例如,根據CPU的差異,看起來像是本地計算機上優化的CPU瓶頸可能會完全消失,或者變成生產服務器上的磁盤瓶頸。
所有現代分析器都可以連接到遠程運行的JVM,因此您不必擔心只能訪問控制檯。
您決定使用哪種分析器取決於您的需求和偏好。某些分析器會向您顯示您的代碼大部分時間花費在何處的「熱點」,這些通常是優化的候選對象。
我傾向於使用JProfiler,因爲它具有廣泛的功能和良好的性能。我以前使用YourKit,但切換到JProfiler的內存和線程分析功能。
VisualVM能夠連接到遠程主機。分析的工作方式與本地相同。這是JDK的一部分,因爲JDK 6更新7
是否有意義剖析服務器,在那裏我 只有在控制檯上 應用程序?
幸運的是,這也不要緊,因爲Java有總是(當然,很長一段時間,反正)支持的遠程分析,即探查器不是被異形JVM在不同的機器上運行,並通過獲取其數據網絡。
我見過的所有Java分析器都支持這個功能,包括最近JDK(在bin目錄下)附帶的visualvm。
有一個"quick and dirty" but effective找到Java中的性能問題。 This是一個語言不可知的解釋爲什麼它的作品。
請注意,JDK帶有一個內置分析器HPROF。 HPROF有點簡單,但會發現很多問題。它僅通過使用參數-agentlib:hprof調用JVM來激活;只要您的JVM正在運行,它就會自動運行。它收集數據直到JVM終止,然後將其轉儲到服務器上的文件中,您可以分析該文件。
參見例如http://java.sun.com/developer/technicalArticles/Programming/HPROF.html有一個很好的介紹。用於HPROF結果的一個很好的圖形分析器是PerfAnal:http://java.sun.com/developer/technicalArticles/Programming/perfanal/
- 1. Perl或Java情感分析
- 2. Java分析 - VisualVM
- 3. 高級Java分析
- 4. EF或Ado.net分析
- 5. Java函數分析
- 6. Java中的別名分析
- 7. Java的RTF分析器
- 8. 的java的SQLException分析
- 9. 分析音頻文件java
- 10. 靜態代碼分析Java
- 11. 媒體分析Java庫
- 12. eclipse中的java分析juno
- 13. 分析java線程轉儲
- 14. Java靜態分析:入門
- 15. 百分比相似度分析(Java)
- 16. 運行java分析器
- 17. 高性能java分析器
- 18. 洪流分析器在Java
- 19. Java庫,用於分析HTML
- 20. Java解析部分日期
- 21. 「JAVA代碼」性能分析
- 22. Java的最新分析
- 23. JSON到Java分析器-Android
- 24. Java的相關性分析
- 25. Java文本分析庫
- 26. Java線程分析器?
- 27. Java調用序列分析
- 28. Java遞歸效率分析
- 29. Rss分析爲黑莓java
- 30. Java GC日誌分析
據我所知它只監視遠程應用程序,但不會對它們進行配置。 – pondermatic 2010-02-01 02:17:23