現象
次のような状況で問題が発生します。
SharePoint 2010 内でサンドボックス コード サービスを開始しようとするとします。 サービスに関連付けられているプロセスはユーザーに表示されますが、すぐに消えます。 SharePoint ULS ログには、次のエラーが表示されます。
'プロセス perf カウンターは無効になっています。 サンドボックス 化されたコードの監視を続行できません。'
原因
この問題は、レジストリ キー 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance\Disable Performance Counters' 値が 1 に設定されている場合に発生します。
解決方法
この問題を解決するには、レジストリを変更する必要があります。
重要: このセクション、メソッド、またはタスクには、レジストリの変更方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 万一に備えて、編集の前にレジストリをバックアップしてください。 問題が発生した場合でも、レジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 - Windows でレジストリをバックアップおよび復元する方法
問題を解決してサンドボックス コード サービスを正常に実行するには、ユーザーがレジストリ キーを削除するか、値を '0' に設定する必要があります。 この場合、次の手順を実行します。
-
[ スタート] をクリックし、[検索の開始] ボックスに 「regedit 」と入力し、 Enter キーを押します。
-
次のレジストリ サブキーを見つけてクリックします。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance\Disable Performance Counters
-
[編集] メニューの [変更] をクリックします。
-
[ 値データ ] ボックスで、値を '0' に変更し、[OK] をクリック します。
-
レジストリ エディターを終了します。
詳細情報
SharePoint ULS ログ内に、次のエラーが表示される場合があります。
SPUCHostService.exe (0x17C0) 0x172C SharePoint Foundation サンドボックス コード サービス ei19 Verbose- SPUserCodeHostService を初期化しようとしたときにハンドルされない例外がキャッチされました。 このサービスは終了します。 PID = 6080。 例外 = Microsoft.SharePoint.Utilities.SPPerformanceCounter.NextValue(Int32 retry, Int32 retryInterval) の Microsoft.SharePoint.Win32.SPPdh.CheckReturnValue(PDH_STATUS status, Boolean throwOnError) の不明なエラー (0xc0000bbc)。ctor(String processName, Int32 processInstanceId) at Microsoft.SharePoint.UserCode.SPUserCodeProcessMonitor.EnsurePerfCounters(IMonitorableProcess monitorableProcess, Int32& indexShimInstance, Int32& indexProxyInstance) at Microsoft.SharePoint.UserCode.SPUserCodeProcessMonitor.CreateMonitoredProcess(IMonitorableProcess monitorableProcess) at Microsoft.SharePoint.UserCodeWorkerProcessPool.AddProcess(ISPUserCodePoolableProcess process) atMicrosoft.SharePoint.UserCode.SPUserCodeWorkerProcessPool.StartProcessInternal() at Microsoft.SharePoint.UserCodeWorkerProcessPool.StartProcess() at Microsoft.SharePoint.UserCode.SPUserCodeWorkerProcessPool.Initialize() String instance) at Microsoft.SharePoint.UserCode.SPUserCodeExecutionHost.InitializeInternal(ISPUserCodePoolableProcessFactory processFactory) at Microsoft.SharePoint.UserCode.SPUserCodeExecutionHostService.InitializeThreadProc(Object stateInfo)
SPUCHostService.exe (0x099C) 0x0A1C SharePoint Foundation General 84yj Medium Performance Counter OS (pdh) 呼び出しがエラー コード PDH_INVALID_HANDLEで失敗しました。
SPUCHostService.exe (0x099C) 0x0A1C SharePoint Foundation ユーザー コード サービス ela0 Verbose - Microsoft.SharePoint.Win32.SPPdh.CheckReturnValue 0xc0000bbc(PDH_STATUS status, Microsoft.SharePoint.UserCode.PerfCounterData.Update() の Microsoft.SharePoint.Utilities.SPPerformanceCounter.NextValue(Int32 retry, Int32 retryInterval) のブール型 throwOnError) で、最後の値 0 を再利用します。
SPUCHostService.exe (0x099C) 0x0A1C SharePoint Foundation ユーザー コード サービス ei0r Verbose - プロセス "SPUCWorkerProcess"の読み取り perf カウンターの監視: PercentProcessorTime=0 ProcessVirtualBytes=0 ProcessHandleCount=0 ProcessThreadCount=0 ProcessIOBytes=0
SPUCHostService.exe (0x099C) 0x0A1C SharePoint Foundation General 84yj MediumPerformance Counter OS (pdh) の呼び出しがエラー コード PDH_INVALID_HANDLEで失敗しました。
SPUCHostService.exe (0x099C) 0x0A1C SharePoint Foundation User Code Service ela0 Verbose- Microsoft.SharePoint.Win32.SPPdh.CheckReturnValue 0xc0000bbc(PDH_STATUS 状態、 Microsoft.SharePoint.UserCode.PerfCounterData.Update() の Microsoft.SharePoint.Utilities.SPPerformanceCounter.NextValue(Int32 retry, Int32 retryInterval) のブール型 throwOnError) で、最後の値 0 を再利用します。