2011-07-26 2 views
6

BTraceドキュメントでは、BTraceはアイドル時にほとんどオーバーヘッドがないと言われています。これは、BTraceにオーバヘッドがあるだけで、いくつかのプローブが満たされて処理されている場合のみですか?BTraceのオーバーヘッドは何ですか

また、プローブが処理されている場合、処理にはCPUが必要です。しかし、それはJVMメモリやオリジナルのJVMプロセス処理に影響を与える可能性のある他のものに影響を与えますか?

答えて

6

BTraceが追加CPUのオーバーヘッドは以下の通りです:あなたが負担することができますセーフモードで

  • を実際のプローブコード
    • オーバーヘッドがタイムスタンプを得ることを除いては最小限である - それは本当に低迷することができ、 OSによって異なります)
    • 安全でないモードを使用している場合、あなたは自由に足を撃つことができます。オーバーヘッドは、プローブハンドラに入れたものによって異なります。
  • JMX取り扱い、該当する場合

を(@Property注釈付き属性を使用して)任意のオーバーヘッドを回避するために最善をしようとメモリBTraceの面で。ただし、集計、プロファイラまたはカスタムコレクションを使用すると、そこに格納されているデータの量に応じてメモリフットプリントが大きくなります。また

BTracePermGenにいくつかの追加要件を置く - 再定義するクラスがあまりにも頻繁にpermgen枯渇につながる可能性があります。

+0

これはJava 8でOracleとどのように比較されますか?パーマネントはありません。だから心配することは1つ少ないですか? – Jayan

関連する問題