surveyeah por para paginas pagadas mysurvey myiyo llenar llenando internet greenpanthera ganar encuestas dinero confiables como java jvm profiling jvisualvm

java - por - ¿Cuáles son los puntos seguros y las encuestas seguras en el contexto de los perfiles?



paginas para llenar encuestas y ganar dinero (2)

El tema de la inexactitud de las herramientas de generación de perfiles de Java y su relación con los puntos de seguridad se discute muy bien en Evaluating the Accuracy of Java Profilers (PLDI''10) .

Esencialmente, los perfiles de Java pueden producir resultados inexactos al muestrear debido al hecho de que el muestreo ocurre durante los puntos de seguridad . Y dado que el compilador puede modificar la ocurrencia de puntos de seguridad, la ejecución de algunos métodos nunca puede ser muestreada por el generador de perfiles. Por lo tanto, el generador de perfiles está programado para registrar una muestra del código (el intervalo de tiempo está activo) pero debe esperar la aparición del punto de seguridad. Y dado que el punto de seguridad es, por ejemplo, movido por el compilador, nunca se observa el método idealmente muestreado.

Como ya se explicó en el artículo anterior, un punto seguro es un evento o una posición en el código donde el compilador interrumpe la ejecución para ejecutar algún código VM interno (por ejemplo, GC).

El sondeo de punto de seguridad es un método para implementar el punto de seguridad o desencadenar un punto de seguridad. Significa que en el código que se está ejecutando, se comprueba regularmente una marca para ver si se requiere una ejecución de punto seguro, si es así (debido, por ejemplo, a un activador de GC), el hilo se interrumpe y se ejecuta el punto de seguridad. Ver, por ejemplo, GC safe-point (o safepoint) y safe-region

Estoy frente a una situación en la que no veo que la aplicación VisualVM no grabe algunas llamadas a métodos. Quería averiguar el motivo y encontré esta respuesta en SO . El tercer punto menciona un posible problema del método de muestreo (que es la única opción que estoy viendo habilitada probablemente porque estoy haciendo perfiles remotos). Menciona puntos seguros en el código y encuestas seguras por código mismo. que significan estas expresiones?


Esta publicación de blog discute puntos seguros. Básicamente son puntos en el código donde JITter permite interrupciones para GC, trazas de pila, etc.

La publicación también dice que los puntos de seguridad, al demorar las muestras de la pila, no pueden ocurrir en los lugares en los que te gustaría, y eso es un problema.

En mi opinión, ese es un pequeño problema. La razón por la que tomas una muestra de pila (a diferencia de una muestra de contador de programa) es para mostrarte todos los sitios de llamada que conducen al estado actual, porque es probable que sean fuentes de lentitud mucho más jugosas que cualquiera que sea el programa contador está haciendo. (Si está haciendo algo. Es posible que esté en medio de E / S, donde la PC no tiene sentido, pero los sitios de llamadas siguen siendo igual de importantes). Si la muestra de la pila tiene que esperar unos ciclos para llegar a un lugar seguro punto, todo eso significa que ocurre al final de un bloque de instrucciones, no en el medio. Si examina la muestra, puede obtener una buena idea de lo que está sucediendo.

Espero que los escritores de perfiles se den cuenta de que no necesitan sudar las cosas pequeñas. Lo que es más importante es no perderse las cosas grandes.