2011-07-26 14 views
6

? Se menciona en BTrace documentos que BTrace casi no tiene gastos generales cuando está inactivo. ¿Significa eso que BTrace solo tiene sobrecarga y solo cuando se cumple una sonda y se está procesando?¿Cuál es la sobrecarga de BTrace

Además, cuando se procesa la sonda, se necesitaría algo de CPU para realizar el procesamiento. Pero, ¿tiene algún impacto en la memoria JVM o en cualquier otra cosa que pueda afectar el procesamiento original del proceso JVM?

Respuesta

6

La sobrecarga de la CPU BTrace añade sigue:

  • el código real de la sonda
    • en modo seguro la sobrecarga puede incurrir es mínima, con excepción de conseguir marcas de tiempo - que puede ser muy lento, según el sistema operativo)
    • cuando se utiliza el modo inseguro, es libre de dispararle a su pierna - la sobrecarga dependerá de lo que ponga en los controladores de sonda
  • JMX manejo, si es aplicable (utilizando un atributo anotada @Property)

en términos de memoria BTrace intenta su mejor para evitar cualquier sobrecarga. Sin embargo, si usa agregaciones, perfiladores o colecciones personalizadas, la huella de memoria crecerá según la cantidad de datos que almacene allí.

Además, BTrace pone algunos requisitos adicionales en PermGen - clases redefiniendo con demasiada frecuencia pueden conducir al agotamiento PermGen.

+0

¿Cómo se compara esto en Java 8 de Oracle? No tiene perm gen. Entonces, ¿una cosa menos de qué preocuparse? – Jayan

Cuestiones relacionadas