V 1s ni spomina, kaj storiti


Napaka »Zmanjkalo pomnilnika« v 1C 8.3 in 8.2 ni tako redka. Najdete ga lahko tudi v konfiguratorju (na primer pri primerjavi konfiguracij), pa tudi v načinu 1C:Enterprise pri izvajanju delovno intenzivne obdelave: na primer pri pisanju velike datoteke base64.

Ta napaka se lahko pojavi ne samo v programu 1C, ampak tudi v drugih programih operacijskega sistema Windows.

Dejstvo je, da je v 32-bitnih operacijskih sistemih privzeto 2 gigabajta za različne programe in enaka količina za operacijski sistem. V 64-bitnem OS je količina pomnilnika, dodeljenega aplikacijam, že 4 GB.

Na podlagi zgoraj navedenega morate povečati velikost dodeljenega naslovnega pomnilnika za aplikacije, kar je program 1C. To lahko storite na dva načina: preklopite z 32-bitnega sistema na 64-bitnega ali povečajte prvotno dodeljeno količino naslovnega pomnilnika.

Seveda je prva metoda boljša in boljša, če pa je trenutno ali sploh ne morete uporabiti, lahko uporabite drugo.
Začnite dan, pojdite v ukazno vrstico operacijskega sistema. Če želite to narediti, pojdite v meni Start in v iskalno vrstico vnesite »cmd«.

Pred vami se bo prikazalo iskanje programov. Izberite tisto, imenovano »cmd«.

Ukazno vrstico lahko odprete tudi s kombinacijo bližnjičnih tipk Windows + R.

V okno, ki se odpre, vnesite naslednji ukaz in pritisnite “Enter”:

bcdedit /set increaseuserva 3200

V tem primeru boste povečali količino naslovnega pomnilnika na 3200 megabajtov.

Ko vam to uspe, je zelo priporočljivo, da obnovite prejšnjo količino naslovnega pomnilnika. Ta ukrep je začasen, saj ima operacijski sistem ob dodeljevanju pomnilnika aplikacijam tega manj. To lahko ogrozi stabilnost sistema Windows.

Če želite pomnilnik naslovov obnoviti na privzeto vrednost, lahko uporabite naslednji ukaz, ki ga prav tako vnesete v ukazno vrstico:

bcdedit /deletevalue increaseuserva

Upoštevajte, da pri pogosti napaki »Zmanjkalo pomnilnika« v 1C lahko pomaga tudi brisanje označenih predmetov. Morda jih je program nabral veliko in program težko obdela takšne količine podatkov. Če ta metoda ne pomaga, morate povečati bitnost operacijskega sistema Windows.

Ena najpogostejših napak, ki se pojavijo pri delu z 1C 8.3, je »Ni dovolj pomnilnika«. V resnici se lahko pojavi po številnih dogodkih - posodabljanju, obdelavi velikih datotek, ustvarjanju poročila, nalaganju podatkov in drugih. To pomeni, da mora vsak skrbnik in razvijalec 1C razumeti bistvo težave in jo znati odpraviti. Preprosto povečanje RAM-a ali trdega diska vašega računalnika ne bo rešilo te težave.

Reševanje težave na odjemalskem računalniku

Razlogi za to napako niso v celoti v sistemu 1C, saj lahko podobno napako vidite v drugih aplikacijah. Težava je v tem, da je v operacijskih sistemih družine Microsoft za vsako aplikacijo privzeto dodeljena določena količina pomnilnika. Za 32-bitne sisteme je ta vrednost nastavljena na 2 GB, za 64-bitne sisteme - 4 GB. Ko programska oprema preseže to vrednost, se na monitorju prikaže okno z napako.

Takšnih sporočil se najlažje znebite tako, da izbrišete predmete, ki so v konfiguraciji označeni za brisanje. To redko pomaga, vendar odpravi nepotrebno obotavljanje. Poleg tega je tveganje teh dejanj minimalno, saj ne zahteva posega v notranje nastavitve sistema Windows. Če odstranitev ne pomaga, se boste morali boriti z drugimi metodami.

Druga rešitev za 32-bitne sisteme je prehod na 64-bitno različico ali dodelitev več pomnilnika aplikacijam. Prva možnost je veliko bolj pravilna, vendar je včasih iz različnih razlogov nemogoča. Potem je na voljo samo možnost s spodnjim algoritmom dejanj, vendar jo morate uporabljati zelo previdno - lahko pride do znatnih težav z delovanjem celotnega sistema.

Ta algoritem je precej preprost:

  1. Odprite ukazni poziv sistema Windows. Uporabite meni Start ali kombinacijo tipk Windows +R in vnesite ukaz “cmd”;
  2. V okno, ki se prikaže, vnesite ukaz “bcdedit /set increaseuserva 3200” (na primer, povečali bomo omejitev na 3,2 GB). Mejo je vredno povečati previdno in postopoma;
  3. Po potrditvi uspešnega zaključka operacije v oknu ukaznega poziva znova zaženite računalnik in poskusite znova izvesti korake, ki so privedli do napake. Če težava ne izgine in se 1C še vedno zruši, lahko ponovno povečate omejitev;
  4. Po uspešnem zaključku operacije brez napake v 1C obnovite privzete omejitve sistema Windows z ukazom "bcdedit /deletevalue increaseuserva". To je nujen korak, da OS ne ogrozi svoje zmogljivosti zaradi 1C in drugih aplikacij.

Ta rešitev vam omogoča izvedbo operacije, ki je ni mogoče izvesti zaradi napake 1C »Nezadostno pomnilnika«. Uporablja se lahko le v nujnih primerih, ko je treba operacijo izvesti takoj. V drugih okoliščinah je bolje poskusiti zagnati 1C na 64-bitni platformi in tam ponoviti operacijo.

Sporočilo, da na strežniku ni dovolj pomnilnika med posodobitvijo ali operacijo velikega obsega, bi morali jemati veliko resneje. Težava je lahko v nepravočasnem zaključku procesov, ki jih sproži različna programska oprema, kar ima za posledico "plastenje" in kopičenje le-teh v virtualnem pomnilniku. Drugi vir takšne napake je intenzivno delo različnih programov z rezervacijo in sprostitvijo pomnilnika. Obstaja različna programska oprema za reševanje teh težav, vendar praksa kaže, da povzroča prekinitve povezave in zrušitve 1C.


Zaradi takšnih napak se sprašujete, ali je strežnik 1C dovolj zmogljiv. Povečanje njegove zmogljivosti bo koristilo podjetju, vendar je to napako mogoče zaobiti na druge načine, ki ne zahtevajo vložka sredstev.

Seveda jih ne bi smeli uporabljati ves čas, a nekega dne vam lahko pomagajo pri nujnem opravljanju dela, ki zahteva veliko virov, če je to potrebno. Med priljubljenimi metodami, ki lahko pomagajo rešiti napako nezadostnega pomnilnika na strežniku, so:

  • Ponovni zagon delovnih procesov 1C, kar bo povzročilo zmanjšanje porabljenega pomnilnika. Ta možnost je primerna samo za izkušene skrbnike, ki razumejo skrbniško konzolo strežnika 1C;
  • S pomočjo tehnološkega dnevnika poiščite tabelo, ki ob nalaganju prejme napako »Nezadostno pomnilnika« med posodobitvijo ali drugo operacijo. Če se pri delu s tabelo »config« pojavi napaka, preverite konfiguracijo z zastavico »Preveri logično celovitost konfiguracije«. To funkcijo najdete v konfiguratorju v meniju »Konfiguracija«.
  • Druga pogosta napaka 1C se pojavi, ko na trdem disku strežnika ni dovolj prostora. Začasne tabele zavzamejo veliko prostora in če prostora ni dovolj, skrbnik vidi napako »Ni dovolj prostega pomnilnika za izvedbo operacije«. V tem primeru je težko dati natančen nasvet, saj se lahko zasnova strežnika ali gruče v različnih različicah bistveno razlikuje. Med standardnimi rešitvami, ki pomagajo v takih primerih, lahko najdete ponovni zagon strežnika, povečanje prostega prostora, optimizacijo poizvedb in posodobitev različice.


    V podjetjih z velikim številom uporabnikov se napaka »Nezadostno prostega pomnilnika na strežniku 1C:Enterprise 8.3« pojavlja precej pogosto. Velik problem in predpogoj za to je nezadostna analiza zahtevane zmogljivosti. Zato pri implementaciji 1C bodite zelo pozorni na zadostno moč strežnika, da vam v prihodnosti ne bo treba prilagajati zmogljivosti na račun stabilnosti.

    Enaka situacija se lahko zgodi med ustvarjanjem velikega poročila, izvajanjem, pri izvajanju, nalaganju velike podatkovne baze itd. Upoštevajte, da se to zgodi pri izvajanju nekaterih obsežnih operacij, ki zahtevajo določeno količino računalniških virov. Poleg tega v običajnem načinu program 1C deluje relativno normalno.

    Nasveti, kot so čiščenje diska, na katerem je nameščen program, zagon v programu, uporaba z izbiro Stiskanje tabel informacijske baze , najverjetneje ne bodo dali želenega rezultata, čeprav jih je vredno poskusiti.

    Da bi program 1C deloval, so za parametre računalnika določene določene zahteve in če njihove značilnosti ne ustrezajo nameščenemu programu, se lahko pojavijo težave v obliki upočasnitev in pojava te vrste napak.

    Po dodajanju več RAM-a v naš računalnik se napaka znova pojavi. V tem primeru je razlog v omejeni dodelitvi naslovnega pomnilnika s strani operacijskega sistema za programsko opremo:

    • v 32-bitnih operacijskih sistemih je privzeto dodeljenih 2 GB za različne programe in enako za operacijski sistem,
    • v 64-bitnih operacijskih sistemih - kapaciteta pomnilnika je že 4 GB.

    Ko delate z 1C in izvajate operacijo, lahko uporabite Upravitelj opravil spremljajte proces obremenitve procesorja in količino prostega pomnilnika. V našem primeru se je med posodobitvijo ta številka približala ničli in takrat se je pojavila napaka »Nezadostno pomnilnika«. Kosilo Upravitelj opravil mogoče s pritiskom na tipke Ctrl+Alt+Del in odpiranje zavihka Izvedba, spremljajte te kazalnike.

    Zato moramo povečati velikost dodeljenega naslovnega pomnilnika za aplikacije (vključno z 1C). To lahko storite na dva načina: preklopite z 32-bitnega sistema na 64-bitnega ali povečajte privzeto količino dodeljenega naslovnega pomnilnika. Prva možnost je pravilnejša, vendar iz nekaterih razlogov morda ne bo mogoča, zato razmislimo o drugi možnosti za rešitev težave.

    Pojavijo se napake. Ogledali si bomo enega od njih, posvečenega temi "Nezadostno prostega pomnilnika na strežniku 1C: Enterprise."

    Metoda za odpravo napake "Na strežniku 1C:Enterprise ni dovolj prostega pomnilnika."

    Pomnilniška zmogljivost delovnih procesov pri delu na agentskem strežniku 1C ni neskončna. Ko je največja obremenitev, uporabnik vidi sporočilo, ki je razveseljivo s svojo novostjo - "Na strežniku 1C: Enterprise ni dovolj prostega pomnilnika."


    Najprej se pogovorimo o razlogih za tovrstna sporočila – zakaj ni dovolj pomnilnika. Lahko jih je več:

    Nezadostna moč železa

    Če v sistemu dela do pet ljudi, bo dovolj en osemgigabajtni računalnik z dvema vijakoma (na enem - SERVER, na drugem - SQL) in dodatno nameščenimi čipi. Ampak to je druga stvar - približno trideset uporabnikov, na tisoče primarnih dokumentov. Tukaj je treba SQL premakniti na ločen strežnik in terminalski strežnik sam ne more obvladati.

    Pomanjkanje pomnilnika za nepotrebne informacije

    Tipične konfiguracije poskušajo opisati dobesedno vse procese, ki bi si jih lahko zamislil razvijalec in poskušal ustvariti univerzalno računovodsko orodje, imenovano 1C:Enterprise. Zato določen uporabnik prejme dodatno prtljago v obliki brezna metapodatkovnih objektov, dodatnih tabel SQL in neuporabljenih podrobnosti. Nenehna registracija in ponovno indeksiranje vsega tega nepotrebnega v programskih registrih zahteva dolgo časa in veliko prostora.

    Napake kodiranja

    Do preobremenjenosti strežnika pride tudi takrat, ko programerji (včasih) ne razumejo določenih procesov in uvedejo svoje »bergle«, ki podaljšujejo čas za izvedbo dodeljenih nalog (in tudi število delovnih procesov).

    Programske napake

    Med drugim, in to je pogosto skoraj glavni razlog - program 1C ima neverjetno število notranjih napak. Nekateri od njih so popravljeni v naslednjih izdajah. Veliko število forumov je posvečenih tem napakam, kjer administratorji, ki razpravljajo o najnovejših trikih, v šali pravijo, da verjetno samo Tadžiki (Dzhamshut in Ravshan) delajo v istem družbenem omrežju.

    Torej, kaj storiti s strežnikom 1C?

    Ker so vzroki težave lahko različni, obstajajo tudi različni načini za rešitev situacije:

    Ponovni zagon strežniške storitve

    Najhitrejša in najpreprostejša rešitev je ponovni zagon strežniške storitve. Iz ukazne vrstice Microsoft Windows (cmd): za zaustavitev zaženite ukaz - net stop "1C:Enterprise 8.3 (ali vaša različica) Server Agent" in za zagon - net start "1C:Enterprise 8.3 (glede na vašo različico) Strežniški agent". Ta rešitev problema ne reši v celoti - največkrat se napaka ponovi. Pogostost njegovih ponovitev je odvisna od števila strank in števila delovnih procesov.

    POMEMBNO. Za ponovni zagon morate imeti ustrezne pravice.

    Samodejni ponovni zagon in nastavitve gruče

    Včasih lahko celo en tekoči potek dela zavzame skoraj ves RAM. Ta problem se reši s povečanjem njihovega števila v nastavitvah gruče. Dodajo približno en proces na vsakih petnajst do trideset uporabnikov.

    Interval ponovnega zagona. Malo preden se prejšnji konča, se začne nov proces rphost.exe. - Nanj se prenesejo povezave iz starega. Dovoljena velikost pomnilnika - če je ta vrednost presežena, se zažene drugi odštevalnik časa.

    Interval za prekoračitev mejne količine - ko časovnik preseže to vrednost, se sproži nov proces. In nanj bodo povezani priključki iz starega. In stari je označen kot neaktiven. Izključeno zaustavi procese po - ko je vrednost tega parametra pretekla po označevanju delovnega toka kot neaktivnega, ga bo operacijski sistem prekinil. Če določite ta parameter enak "0", se vsi neaktivni procesi ne bodo samodejno prekinili.

    POMEMBNO. Za to nastavitev je značilno, da prekine povezavo z bazo le tistega odjemalca, ki je sprožil napačno poročilo. Ostali pa bodo gladko premaknjeni na nove povezave (brez prekinitve iz njihove baze).

    Število delovnih procesov

    Če je rphost.exe preobremenjen z opravili v ozadju in novi procesi niso ustvarjeni, morate preveriti nastavitve:

    maks. Velikost pomnilnika delovnih procesov je skupna količina pomnilnika za vse procese skupaj. Merjeno v bajtih. Če nastavite napačno vrednost (neprimerno za normalno delovanje), bodo vsi prejeli napako »Na strežniku 1c ni dovolj prostega pomnilnika«.

    Varna poraba pomnilnika na klic - nadzoruje porabo pomnilnika med klicem s strani strežnika (v bajtih). Če klic uporablja več kot določeno številko, bo dokončan znotraj gruče. Ne bo se znova zagnal. In izguba seje ne bo vplivala na druge stranke.

    Količina pomnilnika za procese, do vrednosti katere sistem šteje strežnik za produktivnega - ko je ta vrednost dosežena, strežnik gruče preneha sprejemati povezave. Število informacijskih baz na proces - izolira informacijsko varnost po procesu. Po osamitvi informacijskih baz (z vnosom vrednosti “1”) so težave običajno rešene.

    Število povezav na proces – privzeta vrednost je “128”. Če je trenutna zbirka podatkov zelo obremenjena z opravili v ozadju, lahko to število zmanjšate na primer na "25". S temi nastavitvami se bodo nastavitve gruče nekoliko spremenile:

    Stopnja tolerance napak - prikazuje število strežnikov, ki v primeru okvare ne bodo povzročili zasilne zaustavitve odjemalcev. V tem primeru se varnostne storitve samodejno zaženejo v zahtevani količini.

    Način delitve obremenitve - ima dve možni možnosti. Če nastavite »Prednost zmogljivosti«, bo pomnilnik strežnika bolj porabljen za povečanje zmogljivosti. Ko izberete »Pomnilniška prioriteta«, bo gruča 1C prihranila pomnilnik.

    Orodje za baze podatkov

    Za delo z bazo podatkov morate uporabljati MS SQL DBMS.

    Preverjanje konfiguracije

    Morda je vzrok napake v nepravilnih informacijah v konfiguraciji. Če ga želite preveriti, morate zagnati ukaz »Preveri konfiguracijo«. (Ne zamenjujte s testiranjem!). Pred izvedbo morate preveriti nastavitev potrditvenega polja (potrditveno polje) - "logična celovitost". Če se odkrije kakršna koli nepravilnost, se to odraža v sporočilu. In napake bodo odstranjene.

    Preučili smo razloge za pomanjkanje prostega pomnilnika na strežniku 1C in možne načine za njegovo odpravo. Eden od načinov bo zagotovo rešil težavo.

    Nemogoče je našteti vse situacije, ko se pojavi napaka 1C »Nezadostni pomnilnik« (slika 1). Poskusimo identificirati glavne:

    • Pri posodabljanju konfiguracije;
    • Ob zagonu aplikacije;
    • Pri izdelavi poročila;
    • Pri izvajanju velikih izračunov (izvedba dokumenta "Izračun stroškov", "Zaključek meseca" itd.).

    Razlog je v vseh primerih enak - pomanjkanje fizičnega pomnilnika v računalniku. Vendar pa dodajanje dodatnih ključkov RAM v napravo ne reši vedno težave.

    Kaj določa velikost razpoložljivega pomnilnika

    32-bitni operacijski sistemi imajo eno pomembno značilnost: ne glede na količino RAM-a in velikost ostranjevalne datoteke operacijski sistem dodeli le 4 GB za izvajanje določene aplikacije.

    Glede na to, da je polovica naslovnega prostora navideznega pomnilnika namenjena potrebam samega sistema, ostane aplikaciji le še 2 GB. Ko se program izvaja, mora biti naslovni prostor navideznega pomnilnika rezerviran v enem sosednjem bloku. Če to ni mogoče, se odpre okno (slika 1).

    Kako povečati razpoložljivi pomnilnik

    Brez ponovne namestitve operacijskega sistema obstajata dve možnosti za odpravo situacije:


    S temi metodami lahko zmanjšate naslovni prostor, dodeljen operacijskemu sistemu, na 1 GB in povečate pomnilnik za aplikacijo na 3 GB.

    Pozor! Z ročnim dodeljevanjem pomnilnika lahko naletite na težave pri delovanju osebnega računalnika, vse do popolne zaustavitve sistema.

    Odstranitev vrstice iz datoteke boot.ini ali izvajanje ukaza in zamenjava parametra 2900 z 2000 vrne sistem v prvotno stanje.

    Pomembno je razumeti, da so te metode le začasna rešitev težave; da jo trajno odpravite, morate bazo podatkov prenesti na 64-bitno platformo.

    Pri ustvarjanju poročila ni dovolj pomnilnika

    Ne zelo pogosto, vendar se ta napaka pojavi, ko pride do poročil. V tem primeru je proces generiranja tabelarnega dokumenta zakasnjen in se na koncu konča z oknom, kot na prvi sliki.

    Preden vstopite v nastavitve operacijskega sistema in spremenite parametre dodeljevanja RAM-a, je v tem primeru bolje poskusiti spremeniti nastavitve poročila. Spremenite datum, spremenite skupine, dodajte izbor. V večini primerov to pomaga.

    Če se napaka ne pojavi v standardnem poročilu (kot je kartica računa ali bilanca stanja) in imate dostop do izvorne kode za obdelavo, preverite, ali se v poizvedbi oblikujejo začasne tabele. Zapisani v RAM-u in obstajajo do konca zahteve, lahko znatno požrejo vire šibkega računalnika.

    Da bi se izognili takšnim situacijam, je na splošno zelo priporočljivo, da začasne tabele v poizvedbi uničite takoj, ko niso več potrebne.

    Puščanje pomnilnika na strežniku

    V nekaterih primerih uporabniki prejmejo sporočilo, prikazano na sliki 3

    riž. 3.

    Ločeno bi rad spregovoril o razlogih za takšno vedenje strežnika.

    Na splošno je fraza "puščanje pomnilnika" nekoliko netočna; bolje je reči, da se pomnilnik shranjuje v plasteh. Programi, ki zaženejo procese, jih pozabijo pravočasno zaključiti. Posledično se kopičijo v RAM-u.

    Drugi razlog je razdrobljenost spomina. Če med delovanjem strežnika pride do intenzivne rezervacije in sprostitve RAM-a, lahko na eni točki pride do situacije, ko je količina prostega pomnilnika zadostna, vendar je nemogoče zajeti neprekinjen blok pomnilniških naslovov zadostne velikosti.

    Drugo težavo lahko rešite s sistemskimi pripomočki.

    Posledično lahko:

    1. Pojavijo se težave s povezavo, prekine se, program se zruši (slika 4);

    Slika 4

    1. Pri raztovarjanju informacijske baze se pojavijo napake in zamrznitve;
    2. Obstajajo skoki v pomnilniku, ki ga zasedajo procesi 1C.

    Posodobite napake

    Ta možnost pomanjkanja pomnilnika se pojavi, ko poskušate posodobiti konfiguracijo na trenutno izdajo. Povezan je lahko z velikim številom delujočih aplikacij ali z napakami v bazi podatkov.

    Prvi ukrep, ko pride do te težave, je zagon posodobljene baze podatkov v načinu konfiguratorja in izvedba njenega prestrukturiranja (točka menija Administracija->Testiranje in popravljanje), čeprav je bolje opraviti celoten obseg dela za odpravljanje napak in ponovno indeksiranje tabel .