2011-07-26 99 views
6

在BTrace文檔中提到,BTrace在閒置時幾乎沒有開銷。這是否意味着BTrace只有開銷,並且只有當某個探測器被滿足並且正在處理時?BTrace的開銷是多少

此外,當探測器正在處理時,需要一些CPU來完成處理。但是它對JVM內存或其他可能影響原始JVM進程處理的事情是否有影響?

回答

6

的CPU開銷BTrace在於增加了以下內容:

  • 實際探測代碼
    • 在安全模式下,你可以承擔的開銷是最小的與得到的例外時間戳 - 那可真是遲鈍,取決於操作系統)
    • 當使用不安全模式時,您可以自由拍攝您的腿 - 開銷取決於您放入探針處理程序的內容
  • JMX處理,如果適用的話(使用@Property註解屬性)

在存儲器方面BTrace會盡可能避免任何開銷。但是,如果您使用聚合,分析器或自定義集合,則內存佔用量將隨着您在那裏存儲的數據量而增長。

此外,BTrace穿PermGen的一些額外的要求 - 重新定義類往往可能導致PermGen的枯竭。

+0

在Java 8中如何與oracle進行比較?它沒有燙髮。所以少了一件讓人擔心的事情? – Jayan

相關問題