簡體   English   中英

Java 1.6 JDK工具,VisualVM

[英]Java 1.6 JDK tool, VisualVM

有沒有人使用新的Java 1.6 JDK工具VisualVM來分析生產應用程序以及應用程序在分析時如何執行?

文檔說它是為生產和開發使用而設計的,但基於以前的分析經驗,使用其他分析工具,我很猶豫。

雖然我沒有親自使用VisualVM,但我今天看到這篇博文可能會為您提供一些有用的信息。 他談到使用它來分析生產應用程序。

我在開發盒上嘗試了它,發現當我關閉分析時,它會意外地關閉Tomcat。 關於將其推廣到生產中我會非常謹慎 - 您是否可以在臨時環境中模擬負載? 它不如真實的東西好,但如果出錯,它可能不會讓你被解雇......

我之前使用VisualVM來分析在本地運行的東西。 一個很大的勝利就是我只是啟動它,它可以連接到正在運行的JVM。 它比我之前使用的其他分析工具更容易使用,並且似乎沒有那么多的開銷。

我認為它確實是抽樣的。 CPU密集型應用程序的開銷似乎並不重要。 我沒有測量任何東西(我對我的應用程序的執行情況感興趣,而不是工具的執行情況),但它確實沒有讓我從慣常分析中看到的10減速因子。

為了只監視您的應用程序,遠程運行VisualVM不應該減慢它的速度。 如果系統不在崩潰的邊緣,我仍然沒有看到任何問題。 它基本上只是從JVM的粗粒度內置工具中讀取信息。 但是,如果您開始分析,則會遇到與其他分析器相同的問題。 基本上因為它們幾乎以相同的方式工作,通常使用JVM中的支持。

由於防火牆問題,許多人在遠程運行VisualVM時遇到問題,但您甚至可以通過ssh遠程運行Visual VM ,並設置了一些系統屬性。

我使用了Net Beans Profiler,它使用與Visual VM相同的基礎。

我正在使用舊版本的Weblogic,這意味着使用1.5 JVM,因此我無法進行動態附加。 我正在分析的應用程序有幾千個類,我的工作站幾乎無法使用,而探查器對它們進行了全部檢測。 一旦儀器完成,系統就會緩慢但不完全無法使用。 減速量實際上取決於您需要捕獲的內容。 基本的CPU指標非常輕。 分析內存分配可以減慢很多事情。

我不會在生產系統上使用它。 除了可能減速之外,我最終耗盡了PermGen空間,因為當您更改設置時,探查器會重新測試並重新加載類。 (這可能是在1.6代理中修復的,我不知道)

可以使用VisualVM從另一台計算機遠程連接到您的服務器。 您只需右鍵單擊“遠程”節點並說“添加遠程主機”。

這至少會消除VisualVM開銷(如果有的話)在運行時影響性能。

這可能無法消除所有性能問題,尤其是在生產環境中,但它會有所幫助。

自從它被包含在JDK中之前,我一直在使用VisualVM。 它對系統性能的影響可以忽略不計。 我從來沒有注意到它會導致系統性能出現問題,但是我們的Java服務器當時有足夠的空間來支持一些額外的負載。 如果您的服務器運行的級別已經完全解決並且無法處理運行的VisualVM,那么我會說它更有可能需要購買另一台服務器。 任何生產服務器都應該有一些內存空間,否則你所擁有的只是等待發生的災難。

我已經非常廣泛地使用了VVM(VavaVoom?),在輕模式下就像一個魅力,即沒有分析,只是從VM獲取基本數據。 但是一旦你開始分析並且有許多類,那么就會有相當大的減速。 我不會在生產環境中進行分析,即使你有128核心板和2 tera內存純粹因為重新加載和重新定義類是棘手的,服務器類加載器是另一回事,也從一個服務器實現到另一個不同在生產中干擾它們並不是一個好主意。

暫無
暫無

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

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