6

BTraceのドキュメントには、アイドル状態のときにBTraceにほとんどオーバーヘッドがないことが記載されています。これは、BTraceにオーバーヘッドがあるのは、いくつかのプローブが満たされ、処理されている場合のみであることを意味しますか?

また、プローブの処理中は、処理にCPUが必要になります。しかし、JVMメモリや、元のJVMプロセス処理に影響を与える可能性のあるその他の影響はありますか?

4

1 に答える 1

7

BTraceが追加するCPUオーバーヘッドは次のとおりです。

  • 実際のプローブコード
    • セーフモードでは、タイムスタンプを取得することを除いて、発生する可能性のあるオーバーヘッドは最小限に抑えられます。OSによっては、非常に遅くなる可能性があります)
    • 安全でないモードを使用するときは、自由に足を撃ち落とすことができます-オーバーヘッドは、プローブハンドラーに何を入れるかによって異なります
  • 該当する場合、JMX処理( @Property注釈付き属性を使用)

メモリに関しては、 BTraceはオーバーヘッドを回避するために最善を尽くします。ただし、アグリゲーション、プロファイラー、またはカスタムコレクションを使用する場合、メモリフットプリントは、そこに格納するデータの量に応じて増加します。

また、BTraceはPermGenにいくつかの追加要件を課します。クラスを再定義しすぎると、permgenが枯渇する可能性があります

于 2011-07-26T18:50:40.930 に答える