ファイル サーバー リソース マネージャー (FSRM) サービスでは、Windows Server 2003 では、高い CPU 使用率があります。

現象

Windows Server 2003 では、高い CPU 使用率があります。たとえば、次の現象が発生します。
  • CPU 使用率が 60% より常に大きい可能性があります。
  • 検索するタスク マネージャーでは、Svchost.exe プロセスが CPU リソースを常に使用しています。このプロセスは、ファイル サーバー リソース マネージャー (FSRM) サービスによって使用されます。
  • クォータ FSRM マネージャーを起動するときは、FSRM サービスによって消費される CPU が向上します。
  • クォータ FSRM マネージャーを開くには長い時間を実行して、オブジェクトが読み込まれるため長い時間がかかります。
この問題が発生した場合、システムのパフォーマンスが影響を受けます。

原因

この問題は、Windows Server 2008 で修正されている Windows Server 2003 の既知のバグのため発生します。FRSM サービスでは、ポーリング スレッド 1 時間ごとに、分散ファイル システム (DFS) キャッシュを更新しようとするがあります。FSRM サービスがローカル共有の DFS マッピングを読み取り、FSRM コンソールで表示できるようにするためです。クォータ問題のトラブルシューティングを行う管理者である場合、DFS パスに接続されているローカルの共有を決定するを参照してください。

解決策

重要 このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。そのため、レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。そうすることで、問題が発生した場合にレジストリを復元することができます。レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756の方法をバックアップし、Windows のレジストリを復元するには
この問題を解決するには、次のレジストリ サブキーに DisableSearchDfs レジストリ エントリの値のデータを 1 に変更します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SrmSvc\Settings

詳細

デバッグ ダンプ出力のサンプル

//Dump the threads that are using the most CPU!runaway
Thread Time
19:66c 9 days 23:37:21.250
21:1120 8 days 21:22:31.531
20:1084 7 days 23:47:08.296
22:664 6 days 2:26:38.562
23:500 5 days 13:49:09.359
16:80c 0 days 0:00:28.375
0:758 0 days 0:00:00.187

//Dump thread 19

00b3f128 49a63abe 000ad530 00000001 4805415c ntdll!RtlEnumerateGenericTable+0x3f (FPO: [Non-Fpo]) (CONV: stdcall)
00b3f17c 48115bf8 000ad4a8 01f8f8d4 00000000 dfsext!DfsMapCacheQueryReversePath+0x68 (FPO: [Non-Fpo]) (CONV: stdcall)
00b3f1e8 48117cf9 01f8f8d4 00d9020c 00dcb5b8 srmsvc!CPathMapCache::GetDfsPathsForSharePath+0x6e (FPO: [Non-Fpo]) (CONV: thiscall)
00b3f38c 480e88d4 00152cf8 00b3f44c 48041d7c srmsvc!CPathMapCache::GetSharePathsForLocalPath+0x2f4 (FPO: [Non-Fpo]) (CONV: thiscall)
00b3f464 480d61a8 00000000 00152cf8 00b3f558 srmsvc!FormatRemotePathsForMacro+0xcc (FPO: [Non-Fpo]) (CONV: stdcall)
00b3f56c 480d79da 00000000 00000267 00b3f738 srmsvc!CDataScreenAction::GetMacroValueForId+0x3b3 (FPO: [Non-Fpo]) (CONV: thiscall)
00b3f604 480eeb26 00000000 00da29b2 00b3f738 srmsvc!CDataScreenAction::GetMacroValue+0x104 (FPO: [Non-Fpo]) (CONV: thiscall)
00b3f75c 480f45a7 01fb7cf4 00b3fba4 00000000 srmsvc!ISrmMacroExpansion::GetMacroExpansion+0x2ec (FPO: [Non-Fpo]) (CONV: thiscall)
00b3fbd4 480dab45 00b3fc7c 480c6189 00da2814 srmsvc!CSrmActionEmail::Run+0x90d (FPO: [Non-Fpo]) (CONV: thiscall)
00b3fbdc 480c6189 00da2814 4803bd60 4803bcf8 srmsvc!CDataScreenTemplateActionEmail::Run+0x13 (FPO: [Non-Fpo]) (CONV: stdcall)
00b3fc7c 480c82de 00da2818 00d821b0 4803a48c srmsvc!CDataScreen::HandleViolationEvent+0x350 (FPO: [Non-Fpo]) (CONV: stdcall)
00b3fcfc 480bddce 00d821b0 00000000 48043eb8 srmsvc!CDataScreen::DataScreenEventHandler+0xd7 (FPO: [Non-Fpo]) (CONV: stdcall)
00b3fe28 480e03d6 0003ff88 00038b44 00000000 srmsvc!CDataScreenFilterAsync::FilterMessageHandler+0x5c0 (FPO: [Non-Fpo]) (CONV: thiscall)
00b3feec 7c83a827 00dc4b48 7c889080 00100ba0 srmsvc!CSrmFilterAsync::GenericMessageHandler+0x128 (FPO: [Non-Fpo]) (CONV: stdcall)
00b3ff44 7c83aa0b 480e02ae 00dc4b48 00000000 ntdll!RtlpWorkerCallout+0x71 (FPO: [Non-Fpo]) (CONV: stdcall)
00b3ff64 7c83aa82 00000000 00dc4b48 00100ba0 ntdll!RtlpExecuteWorkerRequest+0x4f (FPO: [Non-Fpo]) (CONV: stdcall)
00b3ff78 7c839f60 7c83a9ca 00000000 00dc4b48 ntdll!RtlpApcCallout+0x11 (FPO: [Non-Fpo]) (CONV: stdcall)
00b3ffb8 77e64829 00000000 00000000 00000000 ntdll!RtlpWorkerThread+0x61 (FPO: [Non-Fpo]) (CONV: stdcall)
00b3ffec 00000000 7c839efb 00000000 00000000 kernel32!BaseThreadStart+0x34 (FPO: [Non-Fpo]) (CONV: stdcall)


//looking in detail

00b3f128 49a63abe ntdll!RtlEnumerateGenericTable(
struct _RTL_GENERIC_TABLE * Table = 0x000ad530,
unsigned char Restart = 0x01 '')+0x3f
00b3f17c 48115bf8 dfsext!DfsMapCacheQueryReversePath(
void * MapCache = 0x000ad4a8,
unsigned short * TargetPath = 0x01f8f8d4,
unsigned long BufferSize = 0,
unsigned long * RequiredSize = 0x00b3f1d8,
unsigned long * Total = 0x00dcb5b8,
unsigned short ** Buffer = 0x00000000)+0x68
00b3f1e8 48117cf9 srmsvc!CPathMapCache::GetDfsPathsForSharePath(
unsigned short * strSharePath = 0x01f8f8d4,
class CSrmAutoCppPtr<unsigned short * *> * pDfsPat

プロパティ

文書番号:973071 - 最終更新日: 2017/02/18 - リビジョン: 2

フィードバック