UnmapViewOfFile 함수에서 성능이 저하된다

기술 자료 번역 기술 자료 번역
기술 자료: 815227 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

500MB보다 큰 매핑된 파일 보기를 사용하는 프로그램의 성능이 크게 저하될 수 있습니다. 매핑된 파일 보기는 둘 이상의 프로세스 간에 정보를 공유하는 데 자주 사용됩니다. UnmapViewOfFile 함수에서 성능이 저하됩니다.

원인

Microsoft Windows Server 2003이나 Microsoft Windows XP 서비스 팩 1(SP1)에서 프로그램이 500MB보다 큰 파일 보기를 매핑하는 경우 이 문제가 발생합니다.

해결 방법

Windows XP 서비스 팩 1

서비스 팩 정보

이 문제를 해결하려면 Windows XP용 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
322389 최신 Windows XP 서비스 팩을 구하는 방법

핫픽스 정보

현재 지원되는 핫픽스를 Microsoft에서 구할 수 있지만 이 문서에서 설명하는 문제를 해결하기 위한 것일 뿐이므로 이러한 특정 문제가 발생하는 시스템에만 이 핫픽스를 적용하십시오. 이 핫픽스는 나중에 추가 테스트를 받아야 할 수도 있습니다. 따라서 이 문제의 영향이 심각하지 않으면 이 핫픽스가 포함된 다음 서비스 팩이 나올 때까지 기다리는 것이 좋습니다.

이 문제를 해결하려면 Microsoft 온라인 고객 서비스에 요청을 제출하여 핫픽스를 구하십시오. 핫픽스를 구하기 위한 온라인 요청을 제출하려면 다음 Microsoft 웹 사이트를 방문하십시오.
http://go.microsoft.com/?linkid=6294451
참고 문제가 추가로 발생하거나 문제 해결이 필요한 경우 별도의 서비스 요청을 해야 할 수도 있습니다. 이 특정 핫픽스로 해결할 수 없는 추가 질문과 문제에 대해서는 지원 비용이 청구됩니다. 별도의 서비스 요청을 하려면 다음 Microsoft 웹 사이트를 방문하십시오.
기술지원 서비스 안내
이 핫픽스의 영어 버전은 아래와 같거나 그 이상의 파일 특성을 가집니다. 이 파일의 날짜와 시간은 UTC(Coordinated Universal Time)로 나열되며 파일 정보를 볼 때 로컬 시간으로 변환됩니다. UTC와 로컬 시간의 차이를 보려면 제어판날짜 및 시간 도구에서 표준 시간대 탭을 사용하십시오.
표 축소표 확대
날짜시간버전크기파일 이름플랫폼
2003-02-2816:175.1.2600.11781,895,424Ntkrnlmp.exei386
2003-02-2816:175.1.2600.11781,951,232Ntkrnlpa.exei386
2003-02-2816:175.1.2600.11781,923,584Ntkrpamp.exei386
2003-02-2816:175.1.2600.11781,927,424Ntoskrnl.exei386
2003-02-2816:175.1.2600.11785,826,432Ntkrnlmp.exeia-64
2003-02-2816:175.1.2600.11785,736,704Ntoskrnl.exeia-64

Windows Server 2003

이 문제는 UnmapViewOfFile 함수를 호출할 때 나타나지만 커널 내부에서 코드를 변경해야 합니다. 핵심 메모리 관리 기능을 변경하는 위험 때문에 Windows Server 2003용 핫픽스를 사용할 수 없습니다. Windows Server 2003용 코드 수정 프로그램은 Windows Server 2003 서비스 팩 1에서 제공될 예정입니다.

이 문제의 영향을 받을 수 있는 프로그램은 성능 모니터를 사용하여 확인할 수 있습니다. 이렇게 하려면 다음과 같이 하십시오.
  1. Microsoft 기술 자료 문서 248345에서 설명하는 단계를 수행하거나 성능 모니터 마법사(Performance Monitor Wizard)를 사용하여 성능 모니터 로그를 만듭니다.
    자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    248345 Windows에서 시스템 모니터를 사용하여 로그를 만드는 방법
  2. 사용량이 많을 때 서버 작업을 기록합니다.
  3. 성능 모니터 로그를 중지하고 Process 성능 개체 아래의 Working Set Size Peak를 검토합니다. 작업 집합 크기가 500MB를 초과한 프로세스를 찾습니다.
  4. 3단계에서 확인한 각 프로세스의 작업 집합 크기를 Process 성능 개체 아래의 해당 Private Bytes 항목에서 뺍니다.
프로세스의 작업 집합이 전용 바이트보다 500MB 크면 프로그램이 크기가 큰 매핑된 파일 보기를 사용하는 것일 수 있으며 UnmapViewOfFile 함수를 호출할 때 성능 저하의 영향을 받을 수 있습니다. 이러한 프로그램이 무작위로 응답하지 않거나 오랫동안 응답하지 않으면 디버깅 분석이나 코드 검토를 통해 프로그램이 이 문제의 영향을 받는지 확인해야 할 수 있습니다.

프로그램이 이 성능 문제의 영향을 받는 경우 Windows Server 2003 서비스 팩 1을 사용할 수 있을 때까지 다음과 같은 코딩 해결 방법을 Windows Server 2003에 사용할 수 있습니다.
  1. Windows Server 2003을 실행하는 프로그램에서 UnmapViewOfFile 함수의 호출을 제거합니다. 이 함수 호출은 프로세스에서 여러 메모리 섹션을 동일한 메모리 주소에 매핑해야 하는 경우에만 필요합니다. 운영 체제에서는 마지막 스레드가 종료되자마자 공유 섹션을 지웁니다.
  2. UnmapViewViewOfFile 함수를 호출해야 하면 작업 개체를 만드는 새 프로그램(CreateJobObject)을 작성합니다. SetInformationJobObject 함수를 통해 _JOBOBJECT_BASIC_LIMIT_INFORMATION 매개 변수에서 MaximumWorkingSetSize 속성을 설정하여 최대 작업 집합 크기를 500MB 정도로 설정합니다. 이 설정은 /3GB 스위치를 사용하는 경우 24MB입니다. 필요한 모든 프로세스를 이 작업 개체와 연결합니다.
이 프로그램은 필요한 프로세스가 이미 시작된 후에 실행되어야 합니다. 이러한 프로세스 중 하나가 다시 시작되면 이 프로그램이 다시 실행되어야 합니다. 프로세스의 작업 집합 크기를 제한하면 성능이 크게 저하되는 것을 방지할 수 있습니다. 시스템에 사용 가능한 RAM이 많으면 프로세스의 작업 집합에서 제거되는 페이지가 대기 목록에 배치됩니다. 페이지 폴트가 발생하면 실제 메모리의 대기 목록에 있는 페이지에서 처리될 것입니다. 성능 벤치마크를 실행하여 이 해결 방법에 대한 실제 성능 영향을 확인해야 합니다.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열한 제품에서 이 문제를 확인했습니다. 이 문제는 Microsoft Windows XP 서비스 팩 2에서 처음 해결되었습니다. 이 문제는 Windows Server 2003 서비스 팩 1에서 해결될 예정입니다.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 815227 - 마지막 검토: 2007년 9월 7일 금요일 - 수정: 6.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
키워드:?
kbtshoot kbbug kbfix kbqfe kbenv kbwinxpsp2fix kbwinxppresp2fix kbhotfixserver KB815227

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com