Leistungsabfall tritt in der UnmapViewOfFile-Funktion auf

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 815227 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Ein Programm, das verwendet, ordnete Dateiansichten zu, die größer sind, als dass 500 MB (MB) zu einer erheblichen Leistungsabnahme kommen können. Um Information zwischen beiden oder mehreren Prozessen freizugeben, werden häufig zugeordnete Dateiansichten verwandt. Der Leistungsabfall tritt in der Funktion UnmapViewOfFile auf.

Ursache

Dieses Problem tritt auf, wenn ein Programm Dateiansichten zuordnet, die größer als 500 MB in Microsoft Windows Server 2003 oder Microsoft Windows XP Service Pack 1 ( 1) sind.

Lösung

Windows XP Service Pack 1

Service Pack-Information

Installieren Sie das neueste Service Pack für Windows XP, um dieses Problem zu beheben Klicken Sie auf die folgende Artikelanzahl, um weitere Informationen zu erhalten, um den Artikel der Microsoft Knowledge Base zu lesen:
322389 Wie Installieren des neusten Service Pack für Windows XP

Hotfix-Information

Ein unterstütztes Hotfix ist von Microsoft verfügbar. Dieses Hotfix nur das Problem zu beheben, das in diesem Artikel beschrieben wird ist jedoch vorgesehen. Wenden Sie dieses Hotfix nur auf Systemen an, bei denen dieses spezielle Problem auftritt. Dieses Hotfix empfängt möglicherweise zusaetzlich Test. Wenn Sie von diesem schwerwiegenden Problem betroffen sind nicht empfehlen wir, dass Sie auf das nächste Softwareupdate warten, das dieses Hotfix enthält.

Wenn das Hotfix verfügbar zu Download ist, ist ein "verfügbar Download" Hotfix-Abschnitt an dem Anfang dieses Artikels der Microsoft Knowledge Base. Wenden Sie sich an Microsoft Customer Service und Support, um das Hotfix zu erhalten, wenn dieser Abschnitt nicht angezeigt wird.

Hinweis: Sie müssen eine separate Dienstanfrage eventuell erstellen, wenn zusätzliche Probleme auftreten oder wenn alle Problembehandlung erforderlich ist. Die üblichen Supportkosten werden für zusätzliche Supportfragen und Probleme, die dieses bestimmte Hotfix nicht kennzeichnen, gelten. Besuchen Sie das folgende Website von Microsoft eine vollständige Support- oder von Telefonnummern und eine vollständige Microsoft Customer Service-Liste oder von Telefonnummern eine separate Dienstanfrage zu erstellen:
http://support.microsoft.com/contactus/?ws=support
Hinweis: die Sprachen, für die das Hotfix verfügbar ist, werden in dem Formular angezeigt "ob Hotfix den Download verfügbar durchführt". Wenn Sie Ihre Sprache nicht anzeigen, befindet sich es, da ein Hotfix für die Sprache nicht verfügbar ist. Die englische Version dieses Hotfixes weist die Dateiattribute ( oder die späteren Dateiattribute) auf die in der folgenden Tabelle aufgeführt ist. Die Datumangaben und die Uhrzeit-Angaben für diese Dateien sind in UTC angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert Verwenden Sie in der Systemsteuerung Datum und Uhrzeit in Programm die Registerkarte Zeitzone, um den Unterschied zwischen UTC und lokaler Zeit zu suchen.
   Date         Time      Version        Size       File name     Platform 
   ----------------------------------------------------------------------- 
   28-Feb-2003  16:17    5.1.2600.1178   1,895,424  Ntkrnlmp.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,951,232  Ntkrnlpa.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,923,584  Ntkrpamp.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,927,424  Ntoskrnl.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   5,826,432  Ntkrnlmp.exe  ia-64 
   28-Feb-2003  16:17    5.1.2600.1178   5,736,704  Ntoskrnl.exe  ia-64

Windows Server 2003

Die benötigte Codeänderung ist innerhalb des Kernel tief, obwohl das Problem mit einem Aufruf der UnmapViewOfFile Funktion anzeigt. Ein Hotfix für Windows Server 2003 wird aufgrund des Risikos von dem Ändern von core memory-Verwaltungsfunktion nicht verfügbar sein. Codekorrektur in Windows Server 2003 Service Pack 1 für Windows Server 2003 zu der Verfügung wird stehen.

Programme, die von diesem Problem betroffen werden können, können identifiziert werden, indem Systemmonitor verwendet. Gehen Sie hierzu folgendermaßen vor
  1. Erstellen Sie ein Leistungsmonitorprotokoll, indem die Schritte ausführt, die in 248345 Artikel der Microsoft Knowledge Base beschrieben werden oder das Performance Monitor Wizard verwendet.
    Klicken Sie auf die folgende Artikelanzahl, um weitere Informationen zu erhalten, um den Artikel der Microsoft Knowledge Base zu lesen:
    248345 Erstellen eines Protokolls, das Systemmonitor bei Windows verwendet
  2. Protokollieren Sie während ausgelasteter Mal Server-Aktivität.
  3. Beenden Sie das Leistungsmonitorprotokoll, und überprüfen Sie unter dem Objekt Process performance Working Set Size Peak. Siehe jedes Prozesses, der die Arbeitssatzgröße 500 MB überschritten hat.
  4. Subtrahieren Sie den Arbeitssatzgrößenwert jedes Prozesses, den Sie in Schritt 3 Byte aus dem entsprechenden privaten Eintrag unter dem Objekt Process performance angaben.
Wenn die Arbeit festlegte, befindet sich ein Prozess 500 MB, verwenden können mehr als die privaten Byte das Programm große zugeordnete Ansichten der Dateien und auswirken kann mehr als der Leistungsabfall von dem Aufruf der UnmapViewOfFile Funktion auf den privaten Byte dem Programm. Falls diese Programme nicht für lange Zeiträume reagieren oder für lange Zeiträume reagieren sind, wird das Debuggen von Analysen- oder Codeprüfung zu dem Überprüfen von den Programmen von von diesem Problem betroffen ist, möglicherweise benötigt, zufällig.

Die folgenden Codierungsproblemumgehungen sind für Windows Server 2003 verfügbar, bis Windows Server 2003 Service Pack 1 verfügbar ist, wenn das Programm von diesem Leistungsproblem betroffen ist:
  1. Entfernen Sie Aufrufe der UnmapViewOfFile Funktion in Programmen, die in Windows Server 2003 ausgeführt werden. Dieser Funktionsaufruf ist erforderlich, wenn der Prozess Speicher mehrere Abschnitte an derselben Speicheradresse nur zuordnen muss. Das Betriebssystem wird herauf den freigegebenen Abschnitten reinigen, sobald das letzte Thread beendet worden ist.
  2. Schreiben Sie ein neues Programm, um ein Auftragobjekt (CreateJobObject) zu erstellen, wenn Sie die UnmapViewViewOfFile Funktion aufrufen müssen. Verwenden Sie die SetInformationJobObject Funktion, um die maximale Arbeitssatzgröße ca. in 500 MB festzulegen, indem Sie in dem _JOBOBJECT_BASIC_LIMIT_INFORMATION-Parameter die MaximumWorkingSetSize-Eigenschaft festlegen. ( Diese Einstellung lautet 24 MB mit dem <B> / </B> wechselt 3 GB. ) Ordnen Sie diesem Auftragobjekt alle der Prozesse Prozess für erforderte Prozesse zu.
Dieses Programm sollte ausgeführt werden, nachdem die die Prozessen erforderten Prozess für Prozesse bereits begonnen haben. Dieses Programm muss erneut ausgeführt werden, wenn ein der deren Neu-Starts verarbeitet. Wenn der Arbeitssatzgröße für den Prozess beschränkt, können Sie eine große Leistungseinbuße nicht verursachen. Wenn sich zahlreiches verfügbares RAM auf dem System befindet, werden die Seiten, die aus dem Arbeitssatz des Prozesses entfernt werden, in der Standby-Liste versetzt. Wenn ein Fehler durch Seite entsteht, wird es von der Seite in der Standby-Liste in realem Speicher wahrscheinlich bedient. Leistungsbenchmarks sollten ausgeführt werden, die tatsächliche Leistungseinbuße für diese Problemumgehung zu bestimmen.

Status

Microsoft hat bestätigt, dass es sich dabei, um ein Problem bei den Microsoft-Produkten, die in dem Abschnitt "Betrifft" aufgeführt sind, handelt. Dieses Problem wurde erstmals in Microsoft Windows XP Service Pack 2 behoben. Das Problem in Windows Server 2003 Service Pack 1 behoben wird geplant.

Eigenschaften

Artikel-ID: 815227 - Geändert am: Mittwoch, 29. August 2007 - Version: 6.3
Die Informationen in diesem Artikel beziehen sich auf:
  • 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 SP1
  • Microsoft Windows XP Professional SP1
Keywords: 
kbautohotfix kbhotfixserver kbqfe kbwinxpsp2fix kbtshoot kbenv kbqfe kbwinxppresp2fix kbfix kbbug KB815227 KbMtde kbmt
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 815227
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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