Guía de seguimiento dinámico de Solaris

Directiva fill y sondeos END

Los sondeos END no se activan normalmente hasta que el consumidor de DTrace haya detenido explícitamente el seguimiento. Se garantiza que los sondeos END se activen sólo en una CPU, aunque no se haya definido la CPU en la que se activará el sondeo. Con las memorias intermedias fill, el seguimiento se detiene explícitamente cuando, al menos, una de las memorias intermedias principales por CPU se haya marcado como llena. Si se selecciona la directiva fill, es posible que el sondeo END se active en una CPU con una memoria intermedia llena. Para adaptar el seguimiento de END en las memorias intermedias fill, DTrace calcula la cantidad de espacio consumido potencialmente por los sondeos END y resta este espacio del tamaño total de la memoria intermedia principal. Si el tamaño neto es negativo, DTrace no se iniciará y dtrace(1M) generará una salida con el correspondiente mensaje de error:


dtrace: END enablings exceed size of principal buffer

El mecanismo de reserva garantiza que una memoria intermedia llena tenga siempre suficiente espacio para cualquier sondeo END.