Artikel-id: 126962 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

Symptom

När du kör många Windows-program får du ett felmeddelande om att det är slut på minne när du försöker starta nya program eller vill använda program som redan körs, trots att det finns gott om tillgängligt fysiskt minne och växlingsfilminne.

Orsak

Det här kan inträffa om skrivbordets heap i WIN32-undersystemet har tagit slut.

Obs! Problemet inträffar oftare i Windows NT 3.5 eftersom standardstorleken på skrivbordets heap är 512 K. I Windows NT 3.1 är standardstorleken 3072 K. Standardvärdet har sänkts för att förbättra prestandan.

Lösning

Viktigt! Den här artikeln innehåller information om hur du redigerar registret. Det kan uppstå allvarliga problem om du gör detta felaktigt. Följ därför instruktionerna noga, och säkerhetskopiera registret innan du gör några ändringar i det. Då kan du återställa registret om det uppstår problem. Om du vill veta mer om hur du säkerhetskopierar och återställer registret, klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
322756 Säkerhetskopiera och återställa registret i Windows
Om du vill att vi ska åtgärda problemet går du till avsnittet Lös det åt mig. Om du hellre vill göra det själv går du till avsnittet Jag löser det själv.

Lös det åt mig



Om du vill att problemet ska åtgärdas automatiskt klickar du på knappen eller länken Fix it. Klicka på Kör i dialogrutan Filhämtning och följ anvisningarna i guiden.

Lös det här problemet
Microsoft Fix it 50496

Obs!
  • Guiden finns endast på engelska. Den automatiska korrigeringsfilen fungerar dock även för andra språkversioner av Windows.
  • Om du inte sitter vid datorn där problemet finns kan du spara lösningen på ett flashminne eller en cd och sedan köra den på rätt dator.
  • Om problemet kvarstår bör du öka datorns minne.

Gå sedan till avsnittet Löste det här problemet?.



Jag löser det själv

Lös problemet genom att öka storleken på skrivbordets heap:
  1. Kör Registereditorn (Regedt32.exe).
  2. Gå till följande nyckel från
    HKEY_LOCAL_MACHINE
    -underträdet:
    \System\CurrentControlSet\Control\Session Manager\SubSystems
  3. Markera Windows-värdet.
  4. Välj SträngRedigera-menyn.
  5. Öka SharedSection-parametern.

    Windows NT:
    SharedSection anger systemets och skrivbordets heaps i följande format:
    SharedSection=xxxx,yyyy
    Lägg till ",256" eller ",512" efter yyyy.

    Windows 2000, Windows XP och Windows Server 2003:
    SharedSection använder följande format för att ange systemets och skrivbordets heaps:
    SharedSection=xxxx,yyyy,zzzz
    På 32-bitarsoperativsystem ökar du värdet yyyy till "12288".
    Öka värdet zzzz till "1024".
    På 64-bitarsoperativsystem ökar du värdet yyyy till "20480".
    Öka värdet zzzz till "1024".

Mer Information

Windows NT använder en särskild minnesheap för alla Windows-baserade program som körs på skrivbordet. Skrivbordsheapen används för alla objekt (fönster, menyer, pennor, ikoner, osv). När många Windows-baserade program körs samtidigt kan denna heap få slut på minne. Om det inte finns tillräckligt med minne för att svara på en allokeringsbegäran returneras vanligtvis ett fel och användaren får ett meddelande om att minnet håller på att ta slut. Vissa program kan inte hantera det här och i en del fall finns det inte ens tillräckligt med minne för att skapa en felmeddelandedialogruta. Den begärda åtgärden kan då inte genomföras och inget meddelande visas.

SharedSection-nyckeln är en lång sträng när den visas med Registereditorn. Standardvärdet för nyckeln är följande.
   %SystemRoot%\system32\csrss.exe
   ObjectDirectory=\Windows
   SharedSection=1024,3072,512
   Windows=On
   SubSystemType=Windows
   ServerDll=basesrv,1
   ServerDll=winsrv:GdiServerDllInitialization,4
   ServerDll=winsrv:UserServerDllInitialization,3
   ServerDll=winsrv:ConServerDllInitialization,2
   ProfileControl=Off
   MaxRequestThreads=16
				


Det första SharedSection-värdet (1024) är den gemensamma heapstorleken för alla skrivbord. Här ingår den globala referenstabellen (fönsterreferenser är unika för alla datorer) och delade systeminställningar (exempelvis SystemMetrics). Det här värdet kommer du förmodligen aldrig att behöva ändra.

Det andra SharedSection-värdet (3072) styr storleken på skrivbordets heap som är kopplad till en interaktiv fönsterstation (används för Windows-objekt). Det här statiska värdet används för att förhindra att ostrukturerade program förbrukar för många resurser. Eftersom skrivbordets heap mappas till adressutrymmet i varje process ska det här värdet inte sättas för högt (eftersom det skulle försämra prestandan) utan bara höjas så mycket så att alla önskade program kan köras.

Det tredje SharedSection-värdet (512) styr storleken på skrivbordets heap för alla skrivbord som är kopplade till en icke-interaktiv fönsterstation. Om det här värdet inte finns är storleken på skrivbordsheapen för icke-interaktiva fönsterstationer densamma som storleken för interaktiva fönsterstationer (det andra SharedSection-värdet).
Om du vill veta mer om parametrarna för SharedSection-nyckeln, klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
184802 PRB: User32.dll eller Kernel32.dll kan inte initieras

Löste det här problemet?

  • Kontrollera om problemet har lösts. I så fall är du klar med det här avsnittet. Om problemet inte är åtgärdat kan du kontakta supporten.
  • Skicka oss gärna dina synpunkter. Om du vill ge oss feedback eller rapportera eventuella problem med den här lösningen kan du skriva en kommentar på bloggen Lös det åt mig eller skicka ett e-postmeddelande till oss.

Egenskaper

Artikel-id: 126962 - Senaste granskning: den 11 september 2011 - Revision: 3.0
Informationen i denna artikel gäller:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
Nyckelord: 
kbenv kbmsifixme kbfixme KB126962

Ge 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