FIX: 반복적된 로드 및 언로드 Mtxdm.dll 원인 1 MB 가상 메모리 누수

기술 자료 번역 기술 자료 번역
기술 자료: 232351
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

이 페이지에서

현상

가상 메모리의 1 MB 누수가 로드 및 Mtxdm.dll 루프 내에서 언로드할 때 루프의 모든 반복 함께 나타납니다.

이 ODBC 연결 풀링을 사용 하 고 반복 된 연결과 연결 끊기 백 엔드 데이터베이스에서 만드는 응용 프로그램 또는 많은 연결 하 고 하는 Oracle 백엔드 연결 끊기 ODBC 응용 프로그램에서 문제가 발생할 가능성이 있습니다.

원인

TerminateThread() Mtxdm.dll 내에서 호출에 가상 메모리에서 누수가 발생 한 것입니다.

ODBC 응용 프로그램에서 연결 풀링을 사용 하는 경우 분배기 관리자 (Mtxdm.dll) Mtxdm.dll 내에서 시작 되는 작업자 스레드에 의해 처리 되는 연결 풀을 관리할 수 로드 됩니다.

응용 프로그램이 끝날 때 작업자 스레드를 호출 하는 정리 하 고 작업자 스레드의 스택에 대 한 할당 된 메모리 1 MB 약속 합니다 TerminateThread() 죽입니다.

Mtxdm.dll Microsoft Oracle ODBC 드라이버를 로드 하기 때문에이 같은 동작 반복 된 연결과 연결 끊기 Oracle 데이터베이스 서버를 만들 때 연결 풀링을 사용 되 고 있는지 확인할 수 있습니다.

해결 방법

이 문제를 해결 하려면 최신 서비스 팩을 대 한 Windows NT 4.0 또는 개별 소프트웨어 업데이트를 구하십시오. 최신 서비스 팩을 구하는 방법에 대 한 하십시오.
개별 소프트웨어 업데이트를 얻는 방법에 대 한 Microsoft 기술 지원 서비스를 문의 하십시오. 지원 비용 정보와 Microsoft 고객 기술 지원부 전화 번호의 전체 목록을 다음에 웹 사이트를 참조 하십시오.
서비스 안내EN-US;지원 요청

Windows NT 서버 또는 워크스테이션 4.0

이 문제를 해결 하려면 최신 서비스 팩을 대 한 Windows NT 4.0 또는 개별 소프트웨어 업데이트를 구하십시오. 최신 서비스 팩을 구하는 방법에 대 한 하십시오.
  • Windows 서비스 팩 센터-또는-

  • 152734최신 windows nt 4.0 서비스 팩을 구하는 방법
개별 소프트웨어 업데이트를 얻는 방법에 대 한 Microsoft 기술 지원 서비스를 문의 하십시오. 지원 비용 정보와 Microsoft 고객 기술 지원부 전화 번호의 전체 목록을 다음에 웹 사이트를 참조 하십시오.
서비스 안내EN-US;지원 요청

Windows NT Server 4.0, 터미널 서버 버전

이 문제를 해결 하려면 Windows NT Server 4.0, 터미널 서버 버전에 대 한 최신 서비스 팩을 구하십시오. 자세한 내용은 문서를 보려면 다음 문서 번호를 클릭의 Microsoft 기술 자료를 참조 하십시오.
152734 Windows NT 4.0의 최신 서비스 팩을 구하는 방법

현재 상태

Microsoft는이 문서의 시작 부분에 나열 된 제품에서 문제가 있음을 확인 했습니다. 이 문제는 Windows NT 서버 버전 4.0, 터미널 서버 Edition 서비스 팩 6에서 처음 수정 되었습니다.

자세한 정보

핫픽스 051099a 수동 설치

참고:이 핫픽스를 구하려면 Microsoft 고객 기술 지원부 문의 해야 합니다. 자세한 내용은이 문서의 해결 방법 절을 참조 하십시오.
  1. 닫거나 응용 프로그램이 나 Mtxdm.dll 사용 하는 서비스를 중지 합니다. 이 인터넷 정보 서버 (IIS), Microsoft Transaction Server (MTS)와 Microsoft 분산 트랜잭션 코디네이터 (DTC), ADO 또는 ODBC 응용 프로그램에 포함 될 수 있습니다.
  2. 임시 디렉터리로 핫픽스 (051099a.exe) 다운로드 하 고 실행 하면 다음 압축을 풉니다.
    • Mmtxdm.dll
    • Readme.txt
  3. 찾고는 \Winnt\System32 폴더에 Windows NT 컴퓨터 및 Windows 9x 컴퓨터에 대 한 폴더와 같이 mtxdm.dll의 현재 버전을 이름을 바꿉니다.
  4. Mtxdm.dll 핫픽스 버전의 동일한 위치에 복사 하 고 서비스 및 응용 프로그램을 다시 시작 합니다.

동작을 재현 하는 방법

다음 코드를 사용 하 여 C/c + + 콘솔 응용 프로그램을 만듭니다. 응용 프로그램에 대 한 가상 바이트 보려면 성능 모니터를 사용 하는 동안이 응용 프로그램을 실행 합니다.

참고: Mtxdm.dll, Microsoft Oracle ODBC 드라이버를 로드 하기 때문에이 코드 예제는 Oracle 백엔드에 연결 하는 ODBC 데이터 원본 사용 하 고 더 쉽게 보여 문제.
   #include        <windows.h>
   #include        <stdio.h>
   #include        <sql.h>
   #include        <sqlext.h>
   #include        <assert.h>

   #define CK_RT(x) if( x != SQL_SUCCESS && x != SQL_SUCCESS_WITH_INFO)    assert(0)

   void main(){
       HENV        henv;
       HDBC        hdbc;
       RETCODE     rc = SQL_SUCCESS;
       char        *dsnStr="DSN=OracleServer;UID=scott;pwd=tiger;";
       short       rtnLen = 0;
       UCHAR       rtnDSN[999] = "";
       int         i,x;


       for (i=0; i < 100; i++)
   	{
               rc = SQLAllocEnv(&henv);
               CK_RT(rc);
               rc = SQLAllocConnect(henv, &hdbc);
               CK_RT(rc);
               rc = SQLDriverConnect(hdbc,
                         NULL,
                         (unsigned char *)dsnStr,
                         strlen(dsnStr),
                         rtnDSN,
                         255,
                         &rtnLen,
                         SQL_DRIVER_NOPROMPT);

               CK_RT(rc);
               SQLDisconnect(hdbc);
               SQLFreeConnect(hdbc);
               SQLFreeEnv(henv);
	   }
   }
				

속성

기술 자료: 232351 - 마지막 검토: 2015년 1월 10일 토요일 - 수정: 5.0
키워드:?
kbnosurvey kbarchive kbqfe kbhotfixserver kbbug kbfix kbmdac210fix kbmts200fix kbsdkodbc351fix kbvirtualmem kbmt KB232351 KbMtko
기계 번역된 문서
이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.
이 문서의 영문 버전 보기:232351

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