Entrar

CORREÇÃO: Repetidas de carregar e descarregar de vazamento de memória Virtual de 1 MB Mtxdm causas

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

232351
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Ao carregar e descarregar Mtxdm dentro de um loop, um vazamento de 1 MB de memória virtual é visto com cada iteração do loop.

Isso é mais provável de ocorrer em aplicativos que usam um pool de conexão do ODBC e estão fazendo repetidas conexões e desconexões do banco de dados back-end ou aplicativos ODBC que muitas conexões e desconexões para um backend Oracle.
Causa
O vazamento de memória virtual está sendo causado por uma chamada para TerminateThread() no Mtxdm.

Quando o pool de conexão é usado dentro de um aplicativo ODBC, o Gerenciador de repositório (Mtxdm) é carregado para gerenciar o pool de conexão é manipulado por um segmento de trabalho é iniciado no Mtxdm.

Quando o aplicativo termina, o thread de trabalho é eliminado por uma chamada para TerminateThread(), que não limpo e livre de 1 MB de memória alocada para a pilha do thread de trabalho.

Esse mesmo comportamento pode ser visto quando fazendo repetidas conexões e desconexões para um servidor de banco de dados Oracle, pois o driver ODBC do Microsoft Oracle carrega Mtxdm se o pool de conexões está sendo usado ou não.
Resolução
Para resolver esse problema, obtenha o service pack mais recente para o Windows NT 4.0 ou a atualização de software individual. Para obter informações sobre como obter o service pack mais recente, vá para:
Para obter informações sobre como obter a atualização de software individual, contate o Atendimento Microsoft. Para uma lista completa de números de telefone do Atendimento Microsoft e informações sobre os custos de suporte, vá para o seguinte endereço na World Wide Web:

Windows NT Server ou Workstation 4.0

Para resolver esse problema, obtenha o service pack mais recente para o Windows NT 4.0 ou a atualização de software individual. Para obter informações sobre como obter o service pack mais recente, vá para:
Para obter informações sobre como obter a atualização de software individual, contate o Atendimento Microsoft. Para uma lista completa de números de telefone do Atendimento Microsoft e informações sobre os custos de suporte, vá para o seguinte endereço na World Wide Web:

Windows NT Server 4.0, Terminal Server Edition

Para resolver esse problema, obtenha o service pack mais recente para o Windows NT Server 4.0, Terminal Server Edition. Para obter informações adicionais, clique no número abaixo para ler o artigo noBase de dados de Conhecimento da Microsoft:
152734 Como obter o Service Pack mais recente para o Windows NT 4.0

Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido primeiro no Windows NT Server versão 4.0, Terminal Server Edition Service Pack 6.

MAIS INFORMAÇÕES

Instalação manual do Hotfix 051099a

Observação: Para obter esse hotfix, você deve contatar o Atendimento Microsoft. Consulte a seção resolução deste artigo para obter mais informações.
  1. Fechar ou interromper quaisquer aplicativos ou serviços que estão usando Mtxdm. Isso pode incluir Internet Information Server (IIS), Microsoft Transaction Server (MTS), Microsoft Distributed Transaction Coordinator (DTC) e os aplicativos ADO ou ODBC.
  2. Baixe o hotfix (051099a.exe) em um diretório temporário e execute-o para extrair os seguintes arquivos:
    • Mmtxdm.dll
    • Readme. txt
  3. Localize e renomeie a versão atual do Mtxdm. dll, que deve estar na pasta \Winnt\System32 para computadores de Windows NT e na pasta \Windows\System para computadores Windows 9x.
  4. Copiar a versão de hotfix do Mtxdm no mesmo local e reinicie os serviços e aplicativos.

Etapas para reproduzir o comportamento

Crie um aplicativo de console do C/C++ usando o seguinte código. Execute este aplicativo ao usar o Monitor de desempenho para exibir os Bytes virtuais para o aplicativo.

Observação: Este exemplo de código usa uma fonte de dados ODBC que se conecta a um backend Oracle, pois o driver ODBC do Microsoft Oracle carrega Mtxdm e mais facilmente demonstra o problema.
   #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);	   }   }				
memória virtual vazamento oracle Mtxdm odbc conexão pool exitprocess desconectar 2320 de 1 MB

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 232351 - Última Revisão: 01/10/2015 11:59:52 - Revisão: 5.0

  • kbnosurvey kbarchive kbqfe kbhotfixserver kbbug kbfix kbmdac210fix kbmts200fix kbsdkodbc351fix kbvirtualmem kbmt KB232351 KbMtpt
Comentários