Kai paleista daug programų, parodomas klaidos pranešimas „Baigėsi atmintis“

P OŽ Y M I A I

Kai paleidžiate daug „Windows“ programų, bandant paleisti naujų programų arba pasinaudoti programomis, kurios jau paleistos, parodomas klaidos pranešimas „Baigėsi atmintis“, nors vis dar yra daug fizinės ir perkrauties failo atminties.

P R I EŽ A S T I S

Taip gali nutikti, jei išnaudojamas WIN32 posistemės darbalaukio netvarkusis masyvas.


Pastaba Ši problema dažniau kyla naudojantis „Windows NT 3.5“, kai numatytasis darbalaukio netvarkiojo masyvo dydis yra 512K. Naudojantis „Windows NT 3.1“ numatytoji reikšmė yra 3072K. Numatytoji reikšmė sumažinama efektyvumui padidinti.

S P R E N D I M A S

Svarbu Šiame skyriuje, būde ar užduotyje pateikiami veiksmai, kuriais nurodoma, kaip keisti registro duomenis. Tačiau jei pakeisite registro duomenis netinkamai, gali kilti rimtų problemų. Todėl atlikite šiuos veiksmus atidžiai. Kad būtų saugiau, prieš keisdami registrą sukurkite atsarginę jo kopiją. Tuomet, jei kils problemų, galėsite atkurti registrą. Norėdami gauti daugiau informacijos apie tai, kaip sukurti atsarginę kopiją ir atkurti registrą, spustelėkite šį straipsnio numerį ir peržiūrėkite straipsnį „Microsoft“ žinių bazėje:
322756 Kaip kurti atsarginę registro kopiją ir atkurti registrą sistemoje „Windows“
Jei pageidaujate, kad problemą išspręstume už jus, pereikite prie skyriaus „Pataisyti už mane“. Jei pageidaujate šią problemą spręsti savarankiškai, eikite į skyrių „Leiskite taisyti pačiam“.

Pataisyti už mane



Norėdami išspręsti problemą automatiškai, spustelėkite mygtuką arba saitą Fix it. Spustelėkite Vykdyti dialogo lange Failo atsisiuntimas ir vykdykite vedlio „Fix it“ nurodymus.


Pastabos
  • Šis vedlys gali būti tik anglų kalba. Tačiau automatinis taisymas tinka ir kitų kalbų „Windows“ versijoms.
  • Jei dirbate kitu kompiuteriu, o ne tuo, kuriame kilo ši problema, sprendimą „Fix it“ galite įrašyti „flash“ atmintinėje arba CD diske ir paleisti jį reikiamame kompiuteryje.
  • Jei problemos vis tiek nepavyksta išspręsti, padidinkite kompiuterio atmintį.

Tada pereikite prie skyriaus „Ar tai išsprendė problemą?



Leiskite taisyti pačiam

Norėdami išspręsti šią problemą, padidinkite darbalaukio netvarkiojo masyvo dydį:
  1. Paleiskite registro rengyklę (Regedt32.exe).
  2. Iš atšakos HKEY_LOCAL_MACHINE pereikite prie šio rakto:

    \System\CurrentControlSet\Control\Session Manager\SubSystems
  3. Pasirinkite „Windows“ reikšmę.
  4. Meniu Redagavimas pasirinkite Eilutė.
  5. Padidinkite parametrą „SharedSection“.


    Sistemoje „Windows NT“:
    „SharedSection“ sistemos ir darbalaukio netvarkiuosius masyvus nurodo tokiu formatu:
    SharedSection=xxxx,yyyy
    Pridėkite „,256“ arba „,512“ po skaičiaus yyyy.

    Sistemoje „Windows 2000“, „Windows XP“ ir „Windows Server 2003“:
    „SharedSection“ sistemos ir darbalaukio netvarkiuosius masyvus nurodo tokiu formatu:
    SharedSection=xxxx,yyyy,zzzz
    32 bitų operacinėse sistemoje padidinkite reikšmę yyyy iki „12288“;
    Padidinkite reikšmę zzzz iki „1024“.
    64 bitų operacinėse sistemose padidinkite reikšmę yyyy iki „20480“;
    Padidinkite reikšmę zzzz iki „1024“.

D A U G I A U I N F O R M A C I J O S

„Windows NT“ visoms „Windows“ programoms, veikiančioms darbalaukyje, naudoja specialųjį atminties netvarkųjį masyvą. Darbalaukio netvarkusis masyvas yra naudojamas visiems objektams (langams, meniu, rašikliams, piktogramoms ir pan.). Paleidus daug „Windows“ programų šiame netvarkiajame masyve gali pasibaigti atmintis. Kai priskyrimo užklausai nepakanka atminties, sistema paprastai parodo klaidos pranešimą ir praneša vartotojui apie besibaigiančią atmintį. Kai kurios programos negali tinkamai susitvarkyti su šia problema ir kartais atminties gali nepakakti net klaidos pranešimo dialogo langui parodyti. Todėl nepavyksta atlikti prašomos operacijos ir apie tai nepranešama.


Raktas „SharedSection“ registro rengyklėje rodomas kaip ilga eilutė. Numatytoji šio rakto reikšmė nurodyta toliau.

%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


Pirmoji „SharedSection“ reikšmė (1024) nurodo netvarkiojo masyvo dydį, naudojamą visuose darbalaukiuose. Tai sudaro visuotinės rodyklės lentelė (langų rodyklės yra unikalios visoje mašinoje) ir bendrinamos sistemos parametrai (pvz., „SystemMetrics“). Mažai tikėtina, kad jums kada nors reikės keisti šią reikšmę.

Antroji „SharedSection“ reikšmė (3072) reguliuoja darbalaukio, susieto su interaktyviąja langų stotimi (naudojama „Windows“ objektams), netvarkiojo masyvo dydį. Ši statiška reikšmė naudojama norint neleisti netinkamai veikiančioms programoms naudoti per daug išteklių. Kadangi darbalaukio netvarkusis masyvas yra susietas su kiekvieno proceso adreso vieta, ši reikšmė neturėtų būti nustatyta iki nepagrįstai didelės reikšmės (nes tai sumažins efektyvumą), tačiau ją reikėtų padidinti iki reikiamo lygmens, kad galėtų veikti visos reikiamos programos.

Trečioji „SharedSection“ reikšmė (512) reguliuoja kiekvieno darbalaukio, susieto su „neinteraktyviąja“ langų stotimi, netvarkiojo masyvo dydį. Jei šios reikšmės nėra, darbalaukio netvarkiojo masyvo dydis neinteraktyviose langų stotyse bus toks pat, kaip ir nurodytasis interaktyviųjų langų stotyse (antroji „SharedSection“ reikšmė).
Daugiau informacijos apie rakto „SharedSection“ parametrus rasite spustelėję šį „Microsoft“ žinių bazėje esančio straipsnio numerį:

184802 PRB: nepavyksta inicijuoti „User32.dll“ arba „Kernel32.dll“



Ar tai išsprendė problemą?

  • Patikrinkite, ar problema išspręsta. Jei problema išspręsta, toliau skaityti šio skyriaus nebereikia. Jei problema neišspręsta, galite susisiekti su palaikymo tarnyba.
  • Būtume dėkingi už jūsų atsiliepimą. Norėdami pateikti atsiliepimą arba pranešti apie problemas dėl šio sprendimo, palikite komentarą interneto dienoraštyje „Leiskite taisyti pačiam“ arba atsiųskite mums el. laišką.
Savybės

Straipsnio ID: 126962 – Paskutinė peržiūra: 2011-09-11 – Peržiūra: 1

Atsiliepimai