Düzeltme: Yinelenen yükleme ve kaldırma, Mtxdm.dll neden 1 mb sanal bellek sızıntısı

Makale çevirileri Makale çevirileri
Makale numarası: 232351
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Yükleme ve bir döngü içinde Mtxdm.dll kaldırma, her döngü tekrarında ile sanal bellekteki 1 mb sızıntı görülür.

Bir odbc bağlantı havuzu oluşturma, kullanma ve yinelenen bağlantıları ve bağlantı kesilmeleri arka uç veritabanından yapan uygulamalar ya da pek çok bağlantıları ve bağlantı kesilmeleri bir Oracle arka uç için odbc uygulamaları oluşabilir.

Neden

Sanal bellek sızıntısı Mtxdm.dll içinde TerminateThread() çağrısıyla neden.

İçinde bir odbc uygulaması bağlantı havuzu kullanıldığında (Mtxdm.dll) dağıtıcı Yöneticisi Mtxdm.dll içinde başlatıldığı bir çalışan iş parçacığı tarafından ele bağlantı havuzu yönetmek için yüklenir.

Uygulama sona erdiğinde, iş parçacığı değil temizlemek ve 1 mb İşçi iş parçacığı yığın için ayrılan bellek serbest TerminateThread() çağrısıyla da öldürülüyor.

Microsoft Oracle odbc sürücüsü Mtxdm.dll yüklediğinden, aynı davranışı Bu yinelenen bağlantıları ve bağlantı kesilmeleri bir Oracle veritabanı sunucusu için yaparken, bağlantı havuzu veya kullanılmakta olup olmadığını görülebilir.

Çözüm

Bu sorunu gidermek için Windows NT 4.0 veya bireysel yazılım güncelleştirmesi için en son hizmet paketi edinin. En son hizmet paketini elde etme hakkında daha fazla bilgi için lütfen gidin:
Bağımsız yazılım güncelleştirmesini edinme hakkında daha fazla bilgi için Microsoft Ürün Destek Hizmetleri'ne başvurun. Microsoft Ürün Destek Hizmetleri telefon numaralarının ve destek ücretleri hakkında bilgi tam listesi için World Wide Web üzerinde Lütfen aşağıdaki adrese gidin:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Windows NT Server veya Workstation 4.0

Bu sorunu gidermek için Windows NT 4.0 veya bireysel yazılım güncelleştirmesi için en son hizmet paketi edinin. En son hizmet paketini elde etme hakkında daha fazla bilgi için lütfen gidin:
  • Windows Service Pack merkezi- veya -

  • 152734en son windows nt 4.0 hizmet paketi nasıl elde edilir
Bağımsız yazılım güncelleştirmesini edinme hakkında daha fazla bilgi için Microsoft Ürün Destek Hizmetleri'ne başvurun. Microsoft Ürün Destek Hizmetleri telefon numaralarının ve destek ücretleri hakkında bilgi tam listesi için World Wide Web üzerinde Lütfen aşağıdaki adrese gidin:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Windows NT Server 4.0 Terminal Server Edition

Bu sorunu gidermek için Windows NT Server 4.0, Terminal Server Edition için en son hizmet paketini edinin. Ek bilgi için makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın Microsoft Knowledge Base:
152734 En son Windows NT 4.0 hizmet paketi nasıl elde edilir

Durum

Microsoft bu sorunun, bu makalenin başında listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır. Bu sorun ilk olarak Windows NT Server sürüm 4.0, Terminal Server Edition Service Pack 6 giderilmiştir.

DAHA FAZLA BİLGİ

Düzeltme 051099a el ile yükleme

Not: Bu düzeltmeyi edinmek için Microsoft Ürün Destek Hizmetleri'ne başvurmanız gerekir. Lütfen daha fazla bilgi için bu makalenin çözümleme bölümüne bakın.
  1. Kapatın veya herhangi bir uygulama veya Mtxdm.dll kullanarak hizmetleri durdurun. Bu, Internet Information Server (IIS), Microsoft Transaction Server (mts), Microsoft Dağıtılmış İşlem Eşgüdümcüsü (dtc) ve ado veya odbc uygulamaları içerebilir.
  2. Düzeltme (051099a.exe) geçici bir dizine yükleyin ve çalıştırın aşağıdaki dosyaları ayıklamak için:
    • Mmtxdm.dll
    • Readme.txt
  3. Bulun ve geçerli sürümü, Windows NT bilgisayarları \WINNT\System32 klasörünün ve Windows 9 x bilgisayarları için \Windows\System klasörünü olmalıdır Mtxdm.dll yeniden adlandırın.
  4. Mtxdm.dll düzeltme sürümü aynı konuma kopyalayın ve hizmetler ve uygulamalar'ı yeniden başlatın.

Davranışı yeniden oluşturma adımları

Aşağıdaki kodu kullanarak bir c/C++ konsol uygulaması oluşturun. Uygulama için sanal bayt sayısını görüntülemek için Performans İzleyicisi'ni kullanırken bu uygulamayı çalıştırın.

Not: Mtxdm.dll Microsoft Oracle odbc sürücüsü yükler nedeniyle bu kod örneği bağlayan Oracle arka uç için odbc veri kaynağı kullanır ve daha kolay gösterir sorun.
   #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);
	   }
   }
				

Özellikler

Makale numarası: 232351 - Last Review: 13 Haziran 2012 Çarşamba - Gözden geçirme: 3.0
Anahtar Kelimeler: 
kbqfe kbhotfixserver kbbug kbfix kbmdac210fix kbmts200fix kbsdkodbc351fix kbvirtualmem kbmt KB232351 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 232351

Geri Bildirim Ver

 

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