Jak mogę ustalić, która usługa jest powiązana z konkretnym procesem ArcSOC.exe i odwrotnie?

10

Mam programistyczną maszynę serwerową Arcgis skonfigurowaną z wieloma usługami map, usługami GP i SOE. Czasami proces arcgissoc.exe zawiesza się. Wydaje się również, że działa zbyt wiele SOC w oparciu o to, co widzę w ArcCatalog.

Jak mogę dowiedzieć się, który ArcSOC.exe (identyfikator procesu) pasuje do jakiej usługi w arccatalog?

Używam 10.0.

Kirk Kuykendall
źródło
Myślę, że „bonusowe” procesy ArcSOC są robotami dla SOM, więc zawsze będziesz mieć kilka innych, które nie są związane z uruchomionym zadaniem.
mwalker

Odpowiedzi:

6

Jeśli włączysz Info: Proste rejestrowanie (nadal obowiązuje od 10), identyfikatory procesów zostaną umieszczone w logu serwera. Możesz przeglądać dzienniki za pomocą menedżera serwera lub możesz przejść do C: \ Program Files \ ArcGIS \ Server10.0 \ server \ user \ log i przeglądać plik .dat. Oto fragment mojej maszyny deweloperskiej:

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

Identyfikator procesu 9276 odpowiada ArcSOC.exe dla tej usługi mapy.

Derek Swingley
źródło
2
Dzięki! Na pewno byłoby miło mieć interfejs do oglądania tego podczas debugowania.
Kirk Kuykendall
Bardzo dobrze wiedzieć, i tak na marginesie, działa to również na 9.3.1.
Chad Cooper,
Zastanawiam się, czy można bezpiecznie założyć, że jeśli pid pliku arcsoc.exe nie jest wymieniony w dzienniku, to jest to sierota, którą można bezpiecznie zabić.
Kirk Kuykendall,
@ Kirk: może, ale trzeba by sprawdzić wszystkie pliki dziennika ... plik dziennika zostanie przewinięty, gdy osiągnie określony rozmiar.
Derek Swingley,