前9个免费的Java进程监视工具以及如何选择一种
這樣就可以運行Java代碼了。 也許它甚至可以在生產(chǎn)服務(wù)器上運行。 在您完成出色工作之后,我們得到了好消息和令人討厭的消息。
令人討厭的消息是,現(xiàn)在開始調(diào)試。 就是調(diào)試和應(yīng)用程序性能監(jiān)視。 這意味著您不僅需要查看編寫的代碼,還可以查看JVM的內(nèi)部工作原理。 您不僅需要在調(diào)試階段(使用探查器)執(zhí)行此操作,而且還需要在生產(chǎn)環(huán)境中(使用APM)執(zhí)行此操作以測量性能并檢測代碼中的問題。
好消息? 與您可能聽到的相反,這不一定是痛苦的或昂貴的。 為了幫助您進行不斷的優(yōu)化過程和調(diào)試工作,我們收集了一系列最佳工具,以在開發(fā)和生產(chǎn)環(huán)境中監(jiān)視JVM。 最好的部分是? 它們都是以非常實惠的價格來的:免費。 無需試用,無需購買許可證 -只是您需要深入了解代碼執(zhí)行幕后工作的工具。
什么是Java Profilers?
Java Profiler是在JVM級別監(jiān)視Java字節(jié)碼構(gòu)造和操作的工具 。 探查器跟蹤所有方法調(diào)用和內(nèi)存使用情況,使您可以從任意角度深入研究調(diào)用結(jié)構(gòu)。
您的標(biāo)準(zhǔn)探查器將為您提供很多信息,其有用性主要取決于手頭的調(diào)試任務(wù)。 它應(yīng)該詳細(xì)列出JVM的所有內(nèi)存使用情況,包括對象創(chuàng)建,方法執(zhí)行,迭代執(zhí)行(包括遞歸調(diào)用),線程執(zhí)行和垃圾回收 。
IDE默認(rèn)值
由于過程監(jiān)視對于有效開發(fā)和調(diào)試Java程序非常重要,因此所有流行的IDE供應(yīng)商都提供內(nèi)置的或作為插件的自有品牌分析器,您可以下載它們。
1.
Eclipse內(nèi)存分析器是一個Java堆分析器,可以幫助您查明內(nèi)存泄漏并減少內(nèi)存消耗。 它可用于分析生產(chǎn)性堆轉(zhuǎn)儲以計算對象的保留大小 ,查看誰阻止垃圾收集器收集對象,并運行報告以自動提取泄漏可疑對象。
2.
與Intellij IDEA和Android Studio兼容的JVM調(diào)試器Memory View插件擴展了內(nèi)置JVM調(diào)試器,使其具有在調(diào)試會話期間探查JVM堆中對象的功能 。 它顯示了堆中按類名分組的對象總數(shù)。
3.
Netbeans IDE有自己的內(nèi)置探查器,簡稱為探查器。 它的功能包括CPU,內(nèi)存,線程,鎖和SQL查詢配置文件,以及基本的JVM監(jiān)視 。
替代Java流程監(jiān)視工具
作為程序員,您知道默認(rèn)值并不總是最佳選擇。 實際上,通常不是。 因此,有必要檢查IDE探查器的替代方法,以查看哪種工具最適合您的需求,尤其是如果它是免費的。
4.
VisualVM自稱為“多合一Java故障排除工具”,是一種集成了命令行JDK工具和輕量級分析功能的可視化工具。 它使用各種技術(shù)(包括jvmstat,JMX,Serviceability Agent(SA)和Attach API)監(jiān)視Java上運行的應(yīng)用程序并進行故障排除。
5.
Java Mission Control與Java Flight Recorder一起, 可以對有關(guān)Java虛擬機(JVM)和Java應(yīng)用程序行為的底層信息進行概要分析和事件收集 。 與Oracle JDK打包在一起的這套工具還提供了對所收集數(shù)據(jù)的詳細(xì)分析。
Java應(yīng)用程序性能監(jiān)視器(APM)
應(yīng)用程序性能監(jiān)視器很少是免費的。 實際上,使用的大多數(shù)AMP從相當(dāng)實惠到企業(yè)專有的范圍不等。 當(dāng)您考慮監(jiān)視應(yīng)用程序性能的重要性時,尤其是對于在同一臺服務(wù)器上以凝聚力執(zhí)行(希望)的復(fù)雜應(yīng)用程序拓?fù)鋾r,這確實是一種恥辱。
不僅因為這是發(fā)現(xiàn)錯誤和問題的可靠方法,而且還因為用戶期望并要求您構(gòu)建的應(yīng)用程序具有性能。 而且你也應(yīng)該。
6.
Glowroot是開源Java APM,以其輕巧,易于安裝而自豪,并提供了廣泛的功能集以及對各種應(yīng)用程序服務(wù)器的支持。 Glowroot是免費的且有據(jù)可查,并且為Java程序員提供了性能監(jiān)視解決方案,他們也是開源軟件的狂熱愛好者 (或者根本沒有預(yù)算)。
7.
事半功倍,準(zhǔn)確定位問題并沒有那么容易,但是通常會更加困難。 這就是為什么如果您希望監(jiān)視用Java編寫的大型分布式系統(tǒng)的性能, PinPoint可以派上用場的原因。 PinPoint是免費和開源的,它提供了一個解決方案,可通過跟蹤分布式應(yīng)用程序之間的事務(wù)來幫助分析系統(tǒng)的整體結(jié)構(gòu)以及其中的組件如何互連。
8.
JavaMelody是專為Java EE應(yīng)用程序開發(fā)的,可讓您評估和計算應(yīng)用程序在質(zhì)量保證和生產(chǎn)環(huán)境中的實際操作。 這種全面的免費和開放源代碼解決方案易于集成到大多數(shù)應(yīng)用程序中,并且(由于缺少數(shù)據(jù)庫和配置文件)特別輕巧。
9.
Scouter稱自己為“開源的新文物和應(yīng)用程序動力學(xué)”,試圖通過社區(qū)發(fā)展努力免費提供相同的價值。 scouter可以向您顯示有關(guān)用戶活動,服務(wù)指標(biāo)和資源分配的信息 。
哪個最好?
選擇免費的解決方案來解決您的問題,可能就像小時候在糖果店里放了無限信用。 對您的牙齒健康不利。 那么如何選一個呢? 好吧,不要。 您應(yīng)該至少選擇兩個,并且根據(jù)統(tǒng)計數(shù)字,甚至可能更多 。
所有這些付費APM服務(wù)都提供試用期是有充分理由的,您必須先進行測試,然后再提交。 在財務(wù)上或僅僅通過花時間挑選集成工具即可。 歸根結(jié)底,您值得使用一個工具來簡化您的工作,以確保您的應(yīng)用程序從代碼到生產(chǎn)的順利運行。 所有這些,而不必與付費服務(wù)綁定。
翻譯自: https://www.javacodegeeks.com/2019/05/free-java-process-monitoring-tools-choose.html
總結(jié)
以上是生活随笔為你收集整理的前9个免费的Java进程监视工具以及如何选择一种的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓编程c语言(安卓编程c)
- 下一篇: 公司企业备案(企业备案室)