파일 서버 리소스 관리자 (FSRM) 서비스는 Windows Server 2003에서 CPU 사용량이 발생할 수 있습니다.

증상

Windows Server 2003에서 CPU 사용량이 발생할 수 있습니다. 예를 들어, 다음과 같은 현상이 나타납니다.
  • CPU 사용률이 지속적으로 60% 보다 큰 수 있습니다.
  • 작업 관리자를 찾을 Svchost.exe 프로세스가 CPU 리소스를 지속적으로 사용 됩니다. 이 프로세스는 파일 서버 리소스 관리자 (FSRM) 서비스에 의해 사용 됩니다.
  • FSRM 서비스에 의해 사용 되는 CPU 할당량 FSRM 관리자를 시작할 때 증가 합니다.
  • 할당량 FSRM 관리자를 사용 하는 데 시간이 오래 걸리고 로드할된 개체에 대 한 시간이 오래 걸리는.
이 문제가 발생 하면 시스템 성능에 영향이 있습니다.

원인

이 문제는 Windows Server 2008에서 해결 된 Windows Server 2003의 알려진된 버그로 인해 발생 합니다. FRSM 서비스 매시간 분산 파일 시스템 (DFS) 캐시를 새로 고쳐야 하는 폴링 스레드가 있습니다. FSRM 콘솔에서 표시할 수 있도록 FSRM 서비스에 로컬 공유에 대 한 DFS 매핑을 읽고 때문입니다. 관리자 인 경우 할당량 문제를 해결 하려면 로컬 공유에 연결 된 확인 하려면 DFS 경로 검토 합니다.

해결 방법

중요: 이 섹션, 방법 또는 작업은 레지스트리를 수정하는 방법을 설명하는 단계를 포함합니다. 그러나, 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의 깊게 수행해야 합니다. 추가 보호 조치로, 해당 레지스트리를 수정하기 전에 미리 백업하세요. 그런 다음, 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 레지스트리를 백업 및 복원하는 방법에 대한 자세한 내용은, Microsoft 기술 자료의 다음 문서 번호를 클릭합니다.
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

속성

문서 ID: 973071 - 마지막 검토: 2017. 2. 7. - 수정: 1

피드백