Limpieza de mútex y memoria compartida

En los sistemas UNIX®, Linux®, y z/OS®, si el broker o el agente se detienen incorrectamente, es posible que tenga que limpiar manualmente los mutex y la memoria compartida que se utilizan en la comunicación de datos entre el nodo CandleMonitor y el agente.

Los síntomas de este problema son los siguientes:

  • Al iniciarse, el agente no se inicializa completamente.
  • Los posteriores intentos de concluir el agente se cuelgan.
  • Faltan datos de información, y hay un suceso Broker_Not_Responding. Faltan datos estadísticos con al menos un nodo CandleMonitor desplegado.

Lleve a cabo los siguientes pasos para limpiar mútexes y memoria compartida:

  1. Detenga el agente y los intermediarios supervisados por el agente.
  2. En UNIX, sistemas Linux, o z/OS UNIX (en sistemas z/OS ):
    1. Emita el mandato ipcs -a .
    2. En la salida generada, busque todas las colas de mensajes con los ID de usuario de los intermediarios y los ID de usuario de los agentes, y registre los ID y el campo CLAVE de cada uno de ellos.
    3. Busque todos los semáforos que tienen un campo CLAVE que coincida con los campos CLAVE de las colas de mensajes, y registre el campo ID de cada uno de ellos.
    4. Busque toda la memoria compartida que tenga ID de usuario de los intermediarios, ID de usuario de los agentes y un campo NATTCH de 0, y registre el campo ID de cada uno de ellos.
    5. Cambie a un ID de usuario que pueda emitir el mandato ipcrm; el ID de usuario que vaya a ser el ID de usuario del propietario (en la salida ipcs –a), un ID de usuario del mismo grupo que el propietario, o un ID de usuario root.
    6. Para cada cola de mensajes que haya registrado, emita el mandato ipcrm -q <ID> .
    7. Para cada semáforo que haya registrado, emita el mandato ipcrm -s <ID>.
    8. Para cada memoria compartida que haya registrado, emita el mandato ipcrm -m <ID>.
  3. Reinicie los intermediarios y el agente.