Kako podesiti pametne telefone i računare. Informativni portal

1s 8.3 nema dovoljno memorije na serveru. Kako povećati kapacitet adresne memorije

Ova greška je prilično tipična za 1C 8.3, s njom se susreću mnogi korisnici.

Uzroci

Zapravo, postoji nekoliko razloga zašto se može pojaviti greška "1C bez memorije". Vrlo često se ova greška javlja kada se konfiguracija 1C Enterprise neispravno ažurira. Ništa manje rijetko, učitavanje velike baze podataka ili pokušaj obrade vrlo velike datoteke uzrokuje pojavu greške.

Budući da uzrok greške tijekom ovih radnji leži u nedostatku adresne memorije, neće ga biti moguće riješiti nadogradnjom opreme na kojoj je instaliran 1C program.

Činjenica je da operativni sistem daje softveru pristup ograničenoj količini adresabilne memorije, obično 2 gigabajta za tridesetdvobitne operativne sisteme i 4 gigabajta za šezdesetčetvorobitne operativne sisteme.

Imate li pitanja ili vam je potrebna pomoć konsultanta?

Kako povećati količinu adresne memorije?

Nije teško proširiti adresnu memoriju dostupnu za 1C program. Da biste to učinili, morate pozvati komandnu liniju. To se može učiniti na nekoliko načina, od kojih je najjednostavniji desnim klikom na ikonu menija “Start” - “Command Prompt”
U prozoru koji se pojavi morate unijeti sljedeće:

gdje je brojčana vrijednost željena količina memorije i pritisnite tipku “Enter”. Nakon ovoga, morat ćete ponovo pokrenuti računar. Nakon toga možete pokušati ponoviti operaciju koja nije uspjela. Ako se greška nastavi, preporučujemo da se obratite stručnjaku.
Naši programeri će vas rado posavjetovati i pomoći.

Pogledajmo bliže opcije za popravljanje greške "Nema dovoljno memorije" u 1C 8.3.

Metoda 1: Povećajte veličinu adresne memorije

Postoji ograničenje u dodjeli adresne memorije za softver od strane operativnog sistema: za 32-bitni sistem - 2 GB; za 64-bitni sistem - 4 GB.

Korak 1

Da biste povećali veličinu adresne memorije, potrebno je da uradite sledeće: pokrenite komandnu liniju sa administratorskim pravima:

  • Start – Pokreni – unesite CMD u komandnu liniju i pritisnite Enter:
  • Ili kliknite desnim tasterom miša na dugme Start i izaberite Command Prompt (Administrator).

Korak 2

Zatim se nalazimo u komandnom prozoru dijaloga, gdje moramo upisati naredbu za povećanje memorije adresa. Unesite BCDEdit /set povećanjeuserva xxxx na komandnoj liniji, gdje umjesto xxxx označavamo količinu virtualnog adresnog prostora u megabajtima. Na primjer, na 32-bitnim sistemima preporučuje se 3072 MB:

Korak 3

Ponovo pokrenite računar. Izvršimo radnje u programu 1C 8.3 koje ranije nisu bile moguće.

Korak 4

Nakon izvođenja operacija, bolje je vratiti memoriju adresa na zadanu vrijednost. Da biste to učinili, unesite BCDEdit /deletevalue Povećanjeuserva u komandnoj liniji:

Ponovo pokrenite računar.

Metoda 2. Izbrišite dokumente i imenike označene za brisanje

Na platformi 1C 8.3 postalo je moguće koristiti zakazani zadatak.

Uklanjanje označenih objekata vam omogućava da:

  1. Povećati performanse sistema;
  2. Smanjite veličinu baze podataka.

Korak 1. Kreirajte kopiju baze podataka

Otvorite stavku: odjeljak Administracija – Postavke programa – Podrška i održavanje – Sigurnosno kopiranje i vraćanje:

Postavite raspored za automatsko kopiranje baze podataka i kliknite Završi:

Za više detalja o tome kako napraviti sigurnosnu kopiju 1C 8.3, pogledajte naš video vodič:

Korak 2. Izbrišite označene objekte

Otvorite stavku Automatski briši označene objekte prema rasporedu: odjeljak Administracija – Postavke programa – Podrška i održavanje – Rutinske operacije:

Postavili smo raspored za automatsko brisanje označenih objekata u 1C 8.3 u pogodno vrijeme. Na primjer, tokom pauze za ručak i kliknite na Završi:

Kao rezultat ovih radnji, veličina baze podataka će se smanjiti, performanse sistema će se poboljšati, a greška 1C "Nedovoljno memorije" se ne bi trebala pojaviti.


Molimo ocijenite ovaj članak:

Dolaze do grešaka. Pogledat ćemo jedan od njih, posvećen temi "Nedovoljno slobodne memorije na serveru 1C: Enterprise".

Metoda za otklanjanje greške "Nema dovoljno slobodne memorije na serveru 1C: Enterprise."

Kapacitet memorije radnih procesa pri radu na 1C agent serveru nije beskonačan. Kada je maksimalno opterećen, korisnik vidi poruku koja oduševljava svojom novinom - "Nema dovoljno slobodne memorije na serveru 1C: Enterprise."


Prvo, hajde da pričamo o razlozima za ovu vrstu poruka – zašto nema dovoljno memorije. Može ih biti nekoliko:

Nedovoljna snaga gvožđa

Ako u sistemu radi do pet ljudi, tada će biti dovoljan jedan računar od osam gigabajta sa dva vijka (na jednom - SERVER, na drugom - SQL) i dodatno instaliranim čipovima. Ali druga je stvar - tridesetak korisnika, hiljade primarnih dokumenata. Ovdje se SQL mora premjestiti na poseban server, a terminalski server se sam ne može nositi.

Nedostatak memorije za nepotrebne informacije

Tipične konfiguracije pokušavaju opisati doslovno sve procese koje programer može zamisliti, pokušavajući stvoriti univerzalni računovodstveni alat pod nazivom 1C:Enterprise. Stoga određeni korisnik dobija dodatni prtljag u obliku ponora metapodataka objekata, dodatnih SQL tabela i neiskorištenih detalja. Konstantna registracija i ponovno indeksiranje svih ovih nepotrebnih stvari u programskim registrima traje dugo i puno prostora.

Greške kodiranja

Preopterećenje servera se dešava i kada programeri (ponekad) ne razumiju određene procese i uvedu svoje “štake” koje povećavaju vrijeme potrebno za obavljanje dodijeljenih zadataka (i broj radnih procesa).

Programske greške

Između ostalog, a to je često gotovo glavni razlog - 1C program ima nevjerovatan broj internih grešaka. Neki od njih su popravljeni u narednim izdanjima. Veliki broj foruma posvećen je ovim greškama, gdje admini, raspravljajući o najnovijim trikovima, u šali kažu da vjerovatno samo Tadžici (Dzhamshut i Ravshan) rade na istoj društvenoj mreži.

Dakle, šta učiniti sa 1C serverom?

Budući da uzroci problema mogu biti različiti, postoje i različiti načini rješavanja situacije:

Ponovno pokretanje serverske usluge

Najbrže i najjednostavnije rješenje je ponovno pokretanje serverske usluge. Iz komandne linije Microsoft Windows (cmd): za zaustavljanje pokrenite naredbu - net stop "1C:Enterprise 8.3 (ili vaša verzija) Server Agent", a za pokretanje - net start "1C:Enterprise 8.3 (prema vašoj verziji) Server Agent". Ovo rješenje ne rješava problem u potpunosti - najčešće se greška ponavlja. Učestalost njegovog ponavljanja zavisi od broja klijenata i broja radnih procesa.

BITAN. Da biste mogli ponovo pokrenuti, morate imati odgovarajuća prava.

Automatsko ponovno pokretanje i postavke klastera

Ponekad čak i jedan tekući radni tok može zauzeti gotovo svu RAM memoriju. Ovaj problem se rješava povećanjem njihovog broja u postavkama klastera. Oni dodaju otprilike jedan proces na svakih petnaest do trideset korisnika.

Interval ponovnog pokretanja. Malo prije nego što se prethodni završi, počinje novi proces rphost.exe. - Na njega se prenose veze sa starog. Dozvoljena veličina memorije - ako je ova vrijednost prekoračena, pokrenut će se drugi tajmer za odbrojavanje.

Interval za prekoračenje granične količine - kada tajmer premaši ovu vrijednost, pokrenut će se novi proces. I priključci sa starog će biti spojeni na njega. A stari je zauzvrat označen kao neaktivan. Isključeno zaustavi procese nakon - nakon što vrijednost ovog parametra prođe nakon označavanja toka posla kao neaktivnog, operativni sistem će ga prekinuti. Ako postavite ovaj parametar na “0”, svi neaktivni procesi neće biti automatski prekinuti.

BITAN. Ovu postavku karakteriše činjenica da isključuje iz baze podataka samo klijenta koji je pokrenuo netačan izveštaj. A ostatak će se glatko prebaciti na nove veze (bez prekida iz njihove baze).

Broj radnih procesa

Ako je rphost.exe preopterećen poslovima u pozadini i nisu kreirani novi procesi, morate provjeriti postavke:

Max. Veličina memorije radnih procesa je ukupna količina memorije za sve procese zajedno. Mjereno u bajtovima. Ako postavite pogrešnu vrijednost (neadekvatno normalnom radu), svi će dobiti grešku „Nema dovoljno slobodne memorije na 1c serveru“.

Sigurna potrošnja memorije po pozivu - kontroliše potrošnju memorije tokom poziva od strane servera (u bajtovima). Ako poziv koristi više od navedenog broja, bit će dovršen unutar klastera. Neće se ponovo pokrenuti. A gubitak sesije neće uticati na druge klijente.

Količina memorije za procese do čije vrijednosti server sistem smatra produktivnim - kada se ova vrijednost dostigne, server klastera prestaje da prihvata veze. Broj informacionih baza po procesu - izoluje sigurnost informacija po procesu. Nakon izolacije informacionih baza (unošenjem vrijednosti “1”), problemi se obično rješavaju.

Broj konekcija po procesu - zadana vrijednost je “128”. Ako trenutna baza podataka ima veoma veliko opterećenje od pozadinskih poslova, onda možete smanjiti ovaj broj, na primjer, na "25". Sa ovim postavkama, postavke klastera će se neznatno promijeniti:

Nivo tolerancije grešaka - pokazuje broj servera koji, ako pokvare, neće uzrokovati hitno gašenje klijenata. U tom slučaju, backup servisi će se automatski pokrenuti u potrebnoj količini.

Režim dijeljenja opterećenja - ima dvije moguće opcije. Ako postavite “Prioritet na performanse”, tada će se memorija servera trošiti više radi povećanja performansi. Kada odaberete "Prioritet memorije", 1C klaster će uštedjeti memoriju.

Alat za baze podataka

Za rad sa bazom podataka morate koristiti MS SQL DBMS.

Provjera konfiguracije

Možda uzrok greške leži u netačnim informacijama sadržanim u Konfiguraciji. Da biste to provjerili, morate pokrenuti naredbu “Provjeri konfiguraciju”. (Ne treba se brkati sa testiranjem!). Prije izvršenja potrebno je provjeriti postavku potvrdnog okvira (checkbox) - “logički integritet”. Ako se otkrije bilo kakva netočnost, to će se odraziti u poruci. I greške će biti uklonjene.

Razmotrili smo razloge za nedostatak slobodne memorije na 1C serveru i moguće načine da se to eliminira. Jedna od metoda sigurno će riješiti problem.

Ista situacija se može desiti tokom generisanja velikog izveštaja, izvršenja, prilikom izvršavanja, učitavanja velike baze podataka itd. Imajte na umu da se to dešava kada se izvode neke velike operacije koje zahtevaju određenu količinu računarskih resursa. Štoviše, u normalnom načinu rada 1C program radi relativno normalno.

Savjeti kao što su čišćenje diska na kojem je program instaliran, pokretanje u programu, korištenje odabirom Sažimanje tablica baze podataka , najvjerovatnije neće dati željeni rezultat, iako ih također vrijedi pokušati.

Da bi 1C program radio, određeni su zahtjevi na parametre računala, a ako njihove karakteristike ne odgovaraju instaliranom programu, tada mogu nastati problemi u obliku usporavanja i pojave ove vrste greške.

Nakon dodavanja više RAM-a našem računaru, greška se ponovo pojavljuje. U ovom slučaju, razlog leži u ograničenoj dodjeli adresne memorije od strane operativnog sistema za softver:

  • u 32-bitnim operativnim sistemima, podrazumevano se 2 GB dodeljuje za različite programe i isto toliko za operativni sistem,
  • u 64-bitnim operativnim sistemima - kapacitet memorije je već 4 GB.

Kada radite s 1C i izvodite operaciju, možete koristiti Task Manager pratiti proces opterećenja procesora i slobodnu količinu memorije. U našem slučaju, tokom ažuriranja ova brojka se približila nuli i u tom trenutku se pojavila greška „Nedovoljno memorije“. Pokreni Task Manager moguće pritiskom na tastere Ctrl+Alt+Del i otvaranje kartice Performanse, pratite ove indikatore.

Stoga moramo povećati veličinu dodijeljene adresne memorije za aplikacije (uključujući 1C). Ovo se može uraditi na dva načina: prebaciti se sa 32-bitnog sistema na 64-bitni sistem ili povećati podrazumevanu količinu dodeljene adresne memorije. Prva opcija je ispravnija, ali iz nekih razloga možda neće biti moguća, pa razmotrimo drugu opciju za rješavanje problema.

Nemoguće je navesti sve situacije kada se pojavi greška 1C „Nedovoljno memorije“ (slika 1). Pokušajmo identificirati glavne:

  • Prilikom ažuriranja konfiguracije;
  • Prilikom pokretanja aplikacije;
  • Prilikom generiranja izvještaja;
  • Kod velikih kalkulacija (provođenje dokumenta „Obračun troškova“, „Zatvaranje mjeseca“ i tako dalje).

Razlog je u svim slučajevima isti – nedostatak fizičke memorije na računaru. Međutim, dodavanje dodatnih RAM stickova na uređaj ne rješava uvijek problem.

Šta određuje veličinu dostupne memorije

32-bitni operativni sistemi imaju jednu značajnu osobinu: bez obzira na količinu RAM-a i veličinu datoteke stranične memorije, operativni sistem izdvaja samo 4 GB za pokretanje određene aplikacije.

S obzirom da je polovina adresnog prostora virtuelne memorije alocirana za potrebe samog sistema, aplikaciji ostaje samo 2GB. Kada je program pokrenut, adresni prostor virtualne memorije mora biti rezerviran u jednom kontinuiranom bloku. Kada to nije moguće, pojavljuje se prozor (slika 1).

Kako povećati dostupnu memoriju

Bez ponovnog instaliranja operativnog sistema, postoje dvije opcije za ispravljanje situacije:


Koristeći ove metode, možete smanjiti adresni prostor dodijeljen operativnom sistemu na 1GB, povećavajući memoriju za aplikaciju na 3GB.

Pažnja! Ručnim dodjeljivanjem memorije možete naići na probleme u radu vašeg osobnog računara, sve do potpunog zaustavljanja sistema.

Uklanjanje linije iz datoteke boot.ini ili pokretanje naredbe i zamjena parametra 2900 sa 2000 vraća sistem u prvobitno stanje.

Važno je shvatiti da su ove metode samo privremeno rješenje problema; da biste ga trajno eliminisali, morate prenijeti bazu podataka na 64-bitnu platformu.

Nedovoljno memorije prilikom generisanja izvještaja

Ne baš često, ali ova greška se javlja kada se pojave izvještaji. U ovom slučaju, obrada generisanja tabelarnog dokumenta kasni i na kraju se završava sa prozorom, kao na prvoj slici.

Prije nego što uđete u postavke operativnog sistema i promijenite parametre dodjele RAM-a, u ovom slučaju je bolje pokušati promijeniti postavke izvještaja. Promijenite datum, promijenite grupe, dodajte odabir. U većini slučajeva ovo pomaže.

Ako se greška ne pojavi u standardnom izvještaju (kao što je kartica računa ili bilans stanja), a imate pristup izvornom kodu za obradu, provjerite da li se u upitu formiraju privremene tabele. Snimljeni u RAM-u i postojeći do kraja zahtjeva, mogu značajno pojesti resurse slabog računara.

Općenito, da bi se izbjegle takve situacije, toplo se preporučuje uništavanje privremenih tablica u upitu odmah nakon što više nisu potrebne.

Curenje memorije na serveru

U nekim slučajevima korisnici dobijaju poruku prikazanu na slici 3

Rice. 3.

Želio bih posebno govoriti o razlozima ovakvog ponašanja servera.

Općenito, izraz "curenje memorije" je pomalo netačan; bolje je reći da se memorija pohranjuje, slojevita. Programi koji pokreću procese zaboravljaju da ih prekinu na vrijeme. Kao rezultat toga, oni se akumuliraju u RAM-u.

Drugi razlog je fragmentacija memorije. Ako dođe do intenzivnog rezervisanja i oslobađanja RAM-a tokom rada servera, u jednom trenutku može nastati situacija kada je količina slobodne memorije dovoljna, ali je nemoguće uhvatiti kontinuirani blok memorijskih adresa dovoljne veličine.

Drugi problem možete riješiti korištenjem sistemskih uslužnih programa.

Kao rezultat toga oni mogu:

  1. Postoje problemi sa vezom, ona se prekida, program se ruši; (slika 4)

Fig.4

  1. Pojavljuju se greške i zamrzavanja pri istovaru baze podataka;
  2. Postoje skokovi u memoriji koju zauzimaju 1C procesi.

Greške pri ažuriranju

Ova opcija male memorije se javlja kada pokušate ažurirati konfiguraciju na trenutno izdanje. Može se povezati ili s velikim brojem pokrenutih aplikacija ili s greškama u bazi podataka.

Prva radnja kada se pojavi ovaj problem je pokretanje ažurirane baze podataka u modu konfiguratora i izvršenje njenog restrukturiranja (stavka menija Administracija->Testiranje i ispravljanje), iako je bolje obaviti cijeli niz poslova na ispravljanju grešaka i ponovnom indeksiranju tabela .

Najbolji članci na ovu temu