Guía de seguimiento dinámico de Solaris

Visión general

El proveedor lockstat pone a disposición dos tipos de sondeos: sondeos de evento de contenido y sondeos de evento de retención.

Los sondeos de eventos de contención corresponden a la contención en una primitiva de sincronización, y se activan cuando se fuerza a un subproceso a que espere hasta que un recurso esté disponible. Por norma general, Solaris está optimizado para el caso de no contención, por lo que no se espera que se produzca una contención prolongada. Estos sondeos deberían usarse para comprender los casos en los que surge la contención. Ya que la contención es un subproceso relativamente extraño, la habilitación de sondeos de eventos de contención no afecta al rendimiento de forma sustancial.

Los sondeos de eventos de retención corresponden a la adquisición, liberación o a otro tipo de manipulación de una primitiva de sincronización. Estos sondeos pueden utilizarse para dar respuesta a cuestiones arbitrarias relacionadas con el modo en el que se manipulan las primitivas de sincronización. Dado que Solaris adquiere y libera primitivas de sincronización muy a menudo (en el orden de millones de veces por segundo y CPU en un sistema con mucho movimiento), habilitar los sondeos de eventos de retención tiene un efecto de sondeo mucho más alto que habilitar los sondeos de eventos de contención. Mientras que el efecto de sondeo que se induce al habilitarlos puede ser sustancial, no es patológico; podrá habilitarlos sin miedo en sistemas de producción.

El proveedor lockstat pone a su disposición sondeos que se corresponden con los diversas primitivas de sincronización de Solaris. Estas primitivas y sus correspondientes sondeos se tratan en el resto de este capítulo.