Comment puis-je déterminer quel service est associé à un processus ArcSOC.exe particulier et vice versa?

10

J'ai une machine serveur de développement arcgis configurée avec plusieurs services de carte, services gp et SOE. Parfois, un processus arcgissoc.exe est bloqué. Il semble également y avoir trop de SOC en fonction de ce que je peux voir dans ArcCatalog.

Comment savoir quel ArcSOC.exe (identifiant de processus) va avec quel service dans arccatalog?

J'utilise 10.0.

Kirk Kuykendall
la source
Je pense que les processus ArcSOC "bonus" sont des travailleurs pour le SOM, donc vous en aurez toujours quelques-uns de plus qui ne sont pas associés à une tâche en cours d'exécution.
mwalker

Réponses:

6

Si vous activez Info: journalisation simple (s'applique toujours à 10), les ID de processus sont placés dans le journal de votre serveur. Vous pouvez afficher les journaux via le gestionnaire de serveur ou aller dans C: \ Program Files \ ArcGIS \ Server10.0 \ server \ user \ log et fouiller dans le fichier .dat. Voici un extrait de ma machine de développement:

<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>

L'ID de processus 9276 correspond à ArcSOC.exe pour ce service de carte.

Derek Swingley
la source
2
Merci! Bien sûr, ce serait bien d'avoir une interface utilisateur pour regarder cela pendant le débogage.
Kirk Kuykendall
Très bon à savoir, et en passant, cela fonctionne également sur 9.3.1.
Chad Cooper
Je me demande s'il est sûr de supposer que si le pid d'un arcsoc.exe n'est pas répertorié dans le journal, c'est un orphelin qui peut être tué en toute sécurité.
Kirk Kuykendall
@Kirk: peut-être, mais vous devrez vérifier tous les fichiers journaux ... le fichier journal sera retourné une fois qu'il atteindra une taille spécifique.
Derek Swingley, du