¿Cómo puedo determinar qué servicio está asociado con un proceso ArcSOC.exe en particular y viceversa?

10

Tengo una máquina de servidor arcgis de desarrollo configurada con múltiples servicios de mapas, servicios gp y SOE. A veces se bloquea un proceso arcgissoc.exe. También parece haber demasiados SOC en ejecución según lo que puedo ver en ArcCatalog.

¿Cómo puedo averiguar qué ArcSOC.exe (id de proceso) va con qué servicio en arccatalog?

Estoy ejecutando 10.0.

Kirk Kuykendall
fuente
Creo que los procesos de "bonificación" de ArcSOC son trabajadores para el SOM, por lo que siempre tendrá algunos más que no están asociados con una tarea en ejecución.
mwalker

Respuestas:

6

Si habilita Información: registro simple (todavía se aplica a 10), las ID de proceso se colocan en el registro de su servidor. Puede ver los registros a través del administrador del servidor o puede ir a C: \ Archivos de programa \ ArcGIS \ Server10.0 \ server \ user \ log y buscar en el archivo .dat. Aquí hay un extracto de mi máquina de desarrollo:

<Msg time='2010-12-01T12:18:43' type='INFO1' code='3007' target='Server' thread='5960'>Attempt to start configuration maps/stuff of type MapServer.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17004' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168'>GraphicFeatureServer Construct started.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17002' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168'>Default Map name is: Layers.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17002' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.InitializeLayers' machine='blahblah' process='9276' thread='4168'>Layer Initialization Summary. Layers in Map: 2. Successful Initialization on: 2. Unsupported Layers count: 0. Failed Initialization on 0.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17002' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168'>Initialized 2 Layer(s).</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17002' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168'>Initialized 0 Table(s).</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17006' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168' elapsed='0.01660'>GraphicFeatureServer Construct ended.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='12002' target='maps/stuff.MapServer' methodName='KmlServer.Construct' machine='blahblah' process='9276' thread='4168'>Construct started.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='12003' target='maps/stuff.MapServer' methodName='KmlServer.Construct' machine='blahblah' process='9276' thread='4168'>Construct ended.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='3013' target='maps/stuff.MapServer' thread='5960'>Configuration maps/stuff.MapServer is started.</Msg>

El ID de proceso 9276 corresponde a ArcSOC.exe para este servicio de mapas.

Derek Swingley
fuente
2
¡Gracias! Seguro sería bueno tener una interfaz de usuario para ver esto durante la depuración.
Kirk Kuykendall
Muy bueno saberlo, y aparte, esto también funciona en 9.3.1.
Chad Cooper
Me pregunto si es seguro asumir que si el pid de un arcsoc.exe no aparece en el registro, entonces es un huérfano que se puede matar de forma segura.
Kirk Kuykendall
@ Kirk: tal vez, pero necesitaría verificar todos los archivos de registro ... el archivo de registro se desplazará una vez que alcance un tamaño específico.
Derek Swingley