Prestatievermindering in de functie UnmapViewOfFile

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 815227 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Symptomen

Bij programma's die gebruikmaken van toegewezen bestandsweergaven die groter zijn dan 500 MB (megabytes), kunnen de prestaties aanzienlijk achteruitgaan. Toegewezen bestandsweergaven worden veelal gebruikt voor het delen van informatie tussen twee of meer processen. De prestatievermindering treedt op in de functie UnmapViewOfFile

Oorzaak

Dit probleem treedt op wanneer een programma in Microsoft Windows Server 2003 of in Microsoft Windows XP Service Pack 1 (SP1) bestandsweergaven toewijst die groter zijn dan 500 MB.

Oplossing

Windows XP Service Pack 1

Informatie over servicepacks

U kunt dit probleem oplossen met het laatste servicepack voor Windows XP. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
322389 Het meest recente service pack voor Windows XP ophalen

Informatie over hotfixes

Een ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter alleen bedoeld als oplossing van het probleem dat in dit artikel wordt beschreven. Voer deze hotfix alleen uit op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet mogelijk extra worden getest. Als u geen ernstige problemen ondervindt, raadt Microsoft u daarom aan te wachten op de volgende update waarin deze hotfix is opgenomen.

Als de hotfix kan worden gedownload, is aan het begin van dit Knowledge Base-artikel een sectie 'Hotfix kan worden gedownload' opgenomen. Als een dergelijke sectie niet aanwezig is, kunt u de hotfix aanvragen bij de klantondersteuning van Microsoft.

Opmerking Als er nog andere problemen optreden of als er oplossingen zijn vereist, moet u mogelijk een afzonderlijk serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen die niet in aanmerking komen voor deze specifieke hotfix. Bezoek de volgende website van Microsoft voor een volledige lijst met telefoonnummers van de klantondersteuning van Microsoft of om een afzonderlijk serviceverzoek te maken:
http://support.microsoft.com/contactus/?ws=support
Opmerking Op het formulier 'Hotfix kan worden gedownload' zijn de talen vermeld waarvoor de hotfix beschikbaar is. Als uw taal daar niet bij staat, is de hotfix niet voor die taal beschikbaar. De Engelse versie van deze hotfix heeft de bestandskenmerken die in de volgende tabel worden weergegeven (of recentere bestandskenmerken). De datums en tijden voor deze bestanden worden weergegeven in UTC-notatie (Coordinated Universal Time). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Als u het verschil tussen UTC en lokale tijd wilt bepalen, gebruikt u het tabblad Tijdzone van de optie Datum en tijd in het Configuratiescherm.
   Datum        Tijd   Versie        Grootte  Bestandsnaam Platform 
   ----------------------------------------------------------------------- 
   28-feb-03  16:17:00  5.1.2600.1178  1.895.424  Ntkrnlmp.exe  i386
   28-feb-03  16:17:00  5.1.2600.1178  1.951.232  Ntkrnlpa.exe  i386
   28-feb-03  16:17:00  5.1.2600.1178  1.923.584  Ntkrpamp.exe  i386
   28-feb-03  16:17:00  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

Hoewel het probleem zich voordoet wanneer de functie UnmapViewOfFile wordt aangeroepen, heeft de vereiste codewijziging betrekking op de kernel. Gezien de risico's die gepaard gaan met het wijzigen van de kernfuncties voor geheugenbeheer, zal er geen hotfix voor Windows Server 2003 beschikbaar zijn. De codecorrectie voor Windows Server 2003 zal deel uitmaken van Windows Server 2003 Service Pack 1.

Programma's waarop dit probleem betrekking heeft, kunnen in kaart worden gebracht via Prestatiemeter. Ga hiervoor als volgt te werk:
  1. Maak een Prestatiemeter-logboek door de stappen te volgen die zijn beschreven in het Microsoft Knowledge Base-artikel 248345 of door gebruik te maken van de wizard Prestatiemeter.
    Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
    248345 Een logboek maken met Systeemcontrole in Windows (Het Engels)
  2. Registreer de serveractiviteiten wanneer de server bezet is.
  3. Stop het prestatielogboek en controleer het item Piekwaarde in werkset onder het object voor procesprestaties. Zoek processen waarbij de werksetgrootte groter is dan 500 MB.
  4. Trek de waarde voor de werksetgrootte van afzonderlijke processen die u tijdens stap 3 in kaart hebt gebracht af van de bijbehorende Eigen bytes-vermelding onder het object voor de processprestaties.
Als de werkset voor een proces meer dan 500 MB groter is dan de eigen bytes, maakt het programma mogelijk gebruik van grote toegewezen bestandsweergaven, waardoor het programma te maken kan krijgen met een prestatievermindering tijdens het aanroepen van de functie UnmapViewOfFile. Als deze programma's op een willekeurige wijze vastlopen of gedurende een langere periode niet reageren, is het mogelijk noodzakelijk om fouten op te sporen of de code te controleren, zodat kan worden nagegaan of de programma's met dit probleem te maken hebben.

Als het programma wordt beïnvloed door dit prestatieprobleem, kunt u, totdat Windows Server 2003 Service Pack 1 wordt uitgebracht, gebruikmaken van de volgende tijdelijke oplossingen op het gebied van de code voor Windows Server 2003:
  1. Verwijder UnmapViewOfFile -functieoproepen in programma's die worden uitgevoerd onder Windows Server 2003. Deze functieoproep is alleen noodzakelijk als het proces meerdere geheugensecties aan hetzelfde geheugenadres moet toewijzen. Het besturingssysteem zal de gedeelde secties opschonen zodra de laatste thread is afgesloten.
  2. Als u de functie UnmapViewViewOfFile moet aanroepen, schrijft u daartoe een nieuw programma voor het maken van een taakobject (CreateJobObject). Gebruik de functie SetInformationJobObject om de maximale werksetgrootte in te stellen op ongeveer 500 MB door de eigenschap MaximumWorkingSetSize in te stellen via de parameter _JOBOBJECT_BASIC_LIMIT_INFORMATION. (De instelling is 24 MB wanneer de schakeloptie /3GB wordt gebruikt.) Koppel alle vereiste processen aan dit taakobject.
Dit programma moet worden uitgevoerd nadat de vereiste processen zijn gestart. Als een van de desbetreffende processen opnieuw wordt gestart, moet het programma opnieuw worden uitgevoerd. Er treedt waarschijnlijk geen enorme prestatievermindering op wanneer u de grootte van de werkset voor het proces beperkt. Als het systeem over een grote hoeveelheid RAM beschikt, worden de pagina's die uit de werkset van het proces worden verwijderd op de stand-bylijst geplaatst. Als er een paginafout optreedt, wordt deze waarschijnlijk afgehandeld door de pagina op de stand-bylijst in het fysieke geheugen. Er moeten benchmarktests voor de prestaties worden uitgevoerd, zodat het daadwerkelijke effect van deze tijdelijke oplossing op de prestaties kan worden gecontroleerd.

Status

Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'. In Microsoft Windows XP Service Pack 2 is voor het eerst een correctie opgenomen voor dit probleem. Het probleem zal naar verwachting worden verholpen in Windows Server 2003 Service Pack 1.

Eigenschappen

Artikel ID: 815227 - Laatste beoordeling: donderdag 11 september 2008 - Wijziging: 6.3
De informatie in dit artikel is van toepassing op:
  • 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
Trefwoorden: 
kbautohotfix kbhotfixserver kbqfe kbwinxpsp2fix kbtshoot kbenv kbqfe kbwinxppresp2fix kbfix kbbug KB815227

Geef ons feedback

 

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