Cum se configurează smartphone-uri și PC-uri. Portal informativ

1s 8.3 nu există suficientă memorie pe server. Cum să creșteți capacitatea memoriei adresei

Această eroare este destul de tipică pentru 1C 8.3; mulți utilizatori o întâlnesc.

Cauze

De fapt, există destul de multe motive pentru care poate apărea eroarea „1C epuizată din memorie”. Foarte des, această eroare apare atunci când configurația 1C Enterprise este actualizată incorect. Nu mai puțin rar, încărcarea unei baze de date mari sau încercarea de a procesa un fișier foarte mare provoacă apariția unei erori.

Deoarece cauza erorii în timpul acestor acțiuni constă în lipsa memoriei de adrese, nu va fi posibilă rezolvarea acesteia prin modernizarea echipamentului pe care este instalat programul 1C.

Faptul este că sistemul de operare oferă software-ului acces la o cantitate limitată de memorie adresabilă, de obicei 2 gigabytes pentru sistemele de operare pe treizeci și doi de biți și 4 gigabytes pentru sistemele de operare pe șaizeci și patru de biți.

Ai o întrebare sau ai nevoie de ajutor de la un consultant?

Cum să măresc cantitatea de memorie de adrese?

Nu este dificil să extinzi memoria de adrese disponibilă pentru programul 1C. Pentru a face acest lucru, trebuie să apelați linia de comandă. Acest lucru se poate face în mai multe moduri, dintre care cel mai simplu este să faceți clic dreapta pe pictograma meniului „Start” - „Prompt de comandă”
În fereastra care apare, trebuie să introduceți următoarele:

unde valoarea numerică este cantitatea dorită de memorie și apăsați tasta „Enter”. După aceasta, va trebui să reporniți computerul. După aceasta, puteți încerca să repetați operația care a eșuat. Dacă eroarea persistă, vă recomandăm să contactați un specialist.
Programatorii noștri vor fi bucuroși să vă sfătuiască și să vă ajute.

Să aruncăm o privire mai atentă la opțiunile de remediere a erorii „Memorie insuficientă” în 1C 8.3.

Metoda 1: Măriți dimensiunea memoriei adresei

Există o limitare în alocarea memoriei de adrese pentru software de către sistemul de operare: pentru un sistem pe 32 de biți - 2 GB; pentru un sistem pe 64 de biți - 4 GB.

Pasul 1

Pentru a mări dimensiunea memoriei de adrese, trebuie să faceți următoarele: rulați linia de comandă cu drepturi de administrator:

  • Start – Run – introduceți CMD în linia de comandă și apăsați Enter:
  • Sau faceți clic dreapta pe butonul Start și selectați Command Prompt (Administrator).

Pasul 2

În continuare, ne aflăm într-o fereastră de comandă de dialog, unde trebuie să introducem o comandă pentru a mări memoria de adrese. Introduceți BCDEdit /set increaseuserva xxxx pe linia de comandă, unde în loc de xxxx indicăm cantitatea de spațiu de adresă virtuală în megaocteți. De exemplu, pe sistemele pe 32 de biți, se recomandă 3072 MB:

Pasul 3

Reporniți computerul. Să efectuăm acțiuni în programul 1C 8.3 care nu erau posibile înainte.

Pasul 4

După efectuarea operațiunilor, este mai bine să readuceți memoria de adrese la valoarea implicită. Pentru a face acest lucru, introduceți BCDEdit /deletevalue increaseuserva pe linia de comandă:

Reporniți computerul.

Metoda 2. Ștergeți documentele și directoarele marcate pentru ștergere

În platforma 1C 8.3, a devenit posibilă utilizarea unei sarcini programate.

Eliminarea obiectelor marcate vă permite să:

  1. Creșterea performanței sistemului;
  2. Reduceți dimensiunea bazei de date.

Pasul 1. Creați o copie a bazei de date

Deschideți elementul: secțiunea Administrare – Setări program – Asistență și întreținere – Backup și restaurare:

Configurați o programare pentru copierea automată a bazei de date și faceți clic pe Terminare:

Pentru mai multe detalii despre cum să faci o copie de rezervă a 1C 8.3, vezi tutorialul nostru video:

Pasul 2. Ștergeți obiectele marcate

Deschideți elementul Ștergeți automat obiectele marcate conform unui program: secțiunea Administrare – Setări program – Asistență și întreținere – Operații de rutină:

Am stabilit un program pentru ștergerea automată a obiectelor marcate în 1C 8.3 la un moment convenabil. De exemplu, în timpul unei pauze de prânz și faceți clic pe Terminare:

Ca urmare a acestor acțiuni, dimensiunea bazei de date va scădea, performanța sistemului se va îmbunătăți și eroarea 1C „Memorie insuficientă” nu ar trebui să apară.


Vă rugăm să evaluați acest articol:

Apar erori. Ne vom uita la una dintre ele, dedicată subiectului „Memorie liberă insuficientă pe serverul 1C: Enterprise”.

Metodă de eliminare a erorii „Nu există suficientă memorie liberă pe serverul 1C: Enterprise.”

Capacitatea de memorie a proceselor de lucru atunci când lucrați pe serverul agent 1C nu este infinită. Când este la sarcină maximă, utilizatorul vede un mesaj care este plăcut cu noutatea sa - „Nu există suficientă memorie liberă pe serverul 1C: Enterprise.”


Mai întâi, să vorbim despre motivele pentru acest tip de mesaje - de ce nu există suficientă memorie. Pot fi mai multe dintre ele:

Putere insuficientă a fierului

Dacă în sistem lucrează până la cinci persoane, atunci va fi suficient un computer de opt gigabyte cu două șuruburi (pe unul - SERVER, pe al doilea - SQL) și cipuri instalate suplimentar. Dar este o altă chestiune - aproximativ treizeci de utilizatori, mii de documente primare. Aici, SQL trebuie mutat pe un server separat, iar un server terminal nu poate face față singur.

Lipsa memoriei pentru informații inutile

Configurațiile tipice încearcă să descrie literalmente toate procesele pe care un dezvoltator și le-ar putea imagina, încercând să creeze un instrument de contabilitate universal numit 1C:Enterprise. Prin urmare, un anumit utilizator primește un bagaj suplimentar sub forma unui abis de obiecte de metadate, tabele SQL suplimentare și detalii neutilizate. Înregistrarea și reindexarea constantă a tuturor acestor lucruri inutile în registrele programului necesită mult timp și mult spațiu.

Erori de codare

Supraîncărcarea serverului apare și atunci când programatorii (uneori) nu înțeleg anumite procese și își introduc propriile „cârje” care măresc timpul necesar pentru a finaliza sarcinile atribuite (și numărul de procese de lucru de asemenea).

Erori de program

Printre altele, și acesta este adesea aproape motivul principal - programul 1C are un număr incredibil de erori interne. Unele dintre ele sunt remediate în versiunile ulterioare. Un număr mare de forumuri sunt dedicate acestor erori, unde administratorii, discutând cele mai recente trucuri, spun în glumă că probabil doar tagjicii (Dzhamshut și Ravshan) lucrează în aceeași rețea de socializare.

Deci, ce să faci cu serverul 1C?

Deoarece cauzele unei probleme pot fi diferite, există și moduri diferite de a rezolva situația:

Repornirea serviciului server

Cea mai rapidă și mai ușoară soluție este repornirea serviciului server. Din linia de comandă Microsoft Windows (cmd): pentru a opri, executați comanda - net stop „1C:Enterprise 8.3 (sau versiunea dvs.) Server Agent”, iar pentru a porni - net start „1C:Enterprise 8.3 (în funcție de versiunea dvs.) Agent server”. Această soluție nu rezolvă problema complet - cel mai adesea greșeala se repetă. Frecvența repetărilor sale depinde de numărul de clienți și de numărul de procese de lucru.

IMPORTANT. Pentru a putea reporni, trebuie să aveți drepturile corespunzătoare.

Repornire automată și setări cluster

Uneori, chiar și un flux de lucru care rulează poate ocupa aproape toată memoria RAM. Această problemă este rezolvată prin creșterea numărului acestora în setările clusterului. Acestea adaugă aproximativ un proces pentru fiecare cincisprezece până la treizeci de utilizatori.

Intervalul de repornire. Cu puțin timp înainte de finalizarea celui precedent, începe un nou proces rphost.exe. - Conexiunile de la cel vechi sunt transferate la acesta. Dimensiunea de memorie permisă - dacă această valoare este depășită, va fi pornită un al doilea cronometru.

Interval pentru depășirea volumului limită - când temporizatorul depășește această valoare, se va lansa un nou proces. Iar conexiunile de la cel vechi vor fi conectate la acesta. Iar cel vechi, la rândul său, este marcat inactiv. Off opriți procesele după - după ce valoarea acestui parametru a trecut după marcarea fluxului de lucru ca inactiv, acesta va fi încheiat de sistemul de operare. Dacă setați acest parametru la „0”, atunci toate procesele inactive nu vor fi încheiate automat.

IMPORTANT. Această setare se caracterizează prin faptul că deconectează de la baza de date doar clientul care a lansat raportul incorect. Iar restul va fi mutat fără probleme către conexiuni noi (fără întrerupere de la baza lor).

Numărul de procese de lucru

Dacă rphost.exe este supraîncărcat cu lucrări de fundal și nu sunt create procese noi, trebuie să verificați setările:

Max. Dimensiunea memoriei proceselor de lucru este cantitatea totală de memorie pentru toate procesele împreună. Măsurat în octeți. Dacă setați o valoare greșită (inadecvată pentru funcționarea normală), toată lumea va primi eroarea „Nu există suficientă memorie liberă pe serverul 1c”.

Consumul de memorie sigur per apel - controlează consumul de memorie în timpul unui apel de către server (în octeți). Dacă un apel folosește mai mult decât numărul specificat, acesta va fi finalizat în cluster. Nu va fi repornit. Iar pierderea unei sesiuni nu va afecta alți clienți.

Cantitatea de memorie pentru procese până la valoarea cărora serverul este considerat productiv de către sistem - atunci când această valoare este atinsă, serverul cluster nu mai acceptă conexiuni. Numărul de baze de informații per proces - izolează securitatea informațiilor după proces. După izolarea bazelor de informații (prin introducerea valorii „1”), problemele sunt de obicei rezolvate.

Numărul de conexiuni per proces - valoarea implicită este „128”. Dacă baza de date actuală are o încărcare foarte mare din joburile de fundal, atunci puteți reduce acest număr, de exemplu, la „25”. Cu aceste setări, setările clusterului se vor schimba ușor:

Nivel de toleranță la erori - arată numărul de servere care, dacă eșuează, nu vor provoca o oprire de urgență a clienților. În acest caz, serviciile de backup vor fi lansate automat în cantitatea necesară.

Modul de partajare a încărcării - are două opțiuni posibile. Dacă setați „Prioritate pe performanță”, atunci memoria serverului va fi consumată mai mult pentru a crește performanța. Când selectați „Prioritate memorie”, clusterul 1C va economisi memorie.

Instrument de bază de date

Pentru a opera cu baza de date, trebuie să utilizați MS SQL DBMS.

Verificarea configurației

Poate că cauza erorii constă în informațiile incorecte conținute în Configurație. Pentru a o verifica, trebuie să rulați comanda „Verificați configurația”. (A nu se confunda cu testarea!). Înainte de execuție, trebuie să verificați setarea casetei de selectare (caseta de selectare) - „integritate logică”. Dacă se detectează o incorectitudine, aceasta se va reflecta în mesaj. Iar erorile vor fi eliminate.

Am analizat motivele lipsei de memorie liberă pe serverul 1C și posibilele modalități de a elimina acest lucru. Una dintre metode va rezolva cu siguranță problema.

Aceeași situație poate apărea și în timpul generării unui raport mare, execuției, la executare, încărcarea unei baze de informații mari etc. Rețineți că acest lucru se întâmplă atunci când se efectuează unele operațiuni la scară largă care necesită o anumită cantitate de resurse computerizate. Mai mult, în modul normal programul 1C funcționează relativ normal.

Sfaturi precum curățarea discului pe care este instalat programul, rularea acestuia în program, utilizarea acestuia prin selectare Comprimarea tabelelor bazei de informații , cel mai probabil nu vor da rezultatul dorit, deși merită și ele încercate.

Pentru ca programul 1C să funcționeze, anumite cerințe sunt impuse parametrilor computerului, iar dacă caracteristicile acestora nu corespund programului instalat, atunci pot apărea probleme sub formă de încetiniri și apariția acestui tip de eroare.

După ce am adăugat mai multă RAM la computerul nostru, eroarea apare din nou. În acest caz, motivul constă în alocarea limitată a memoriei de adrese de către sistemul de operare pentru software:

  • în sistemele de operare pe 32 de biți, în mod implicit, 2 GB sunt alocați pentru diferite programe și aceeași cantitate pentru sistemul de operare,
  • în sisteme de operare pe 64 de biți - capacitatea de memorie este deja de 4 GB.

Când lucrați cu 1C și efectuați o operație, puteți utiliza Gestionar de sarcini monitorizați procesul de încărcare a procesorului și cantitatea liberă de memorie. În cazul nostru, în timpul actualizării această cifră s-a apropiat de zero și în acel moment a apărut eroarea „Memorie insuficientă”. Lansa Gestionar de sarcini posibil prin apăsarea tastelor Ctrl+Alt+Delși deschizând fila Performanţă, monitorizați acești indicatori.

Astfel, trebuie să creștem dimensiunea memoriei de adrese alocate pentru aplicații (inclusiv 1C). Acest lucru se poate face în două moduri: treceți de la un sistem pe 32 de biți la un sistem pe 64 de biți sau creșteți cantitatea implicită de memorie de adrese alocată. Prima opțiune este mai corectă, dar din anumite motive poate să nu fie posibilă, așa că să luăm în considerare a doua opțiune pentru rezolvarea problemei.

Este imposibil să enumerați toate situațiile în care apare eroarea 1C „Memorie insuficientă” (Fig. 1). Să încercăm să le identificăm pe cele principale:

  • La actualizarea configurației;
  • La pornirea aplicației;
  • La generarea unui raport;
  • La efectuarea unor calcule mari (efectuarea documentului „Calcul cost”, „Închiderea lunii” și așa mai departe).

Motivul în toate cazurile este același - lipsa memoriei fizice pe computer. Cu toate acestea, adăugarea de stick-uri RAM suplimentare pe dispozitiv nu rezolvă întotdeauna problema.

Ceea ce determină dimensiunea memoriei disponibile

Sistemele de operare pe 32 de biți au o caracteristică semnificativă: indiferent de cantitatea de RAM și de dimensiunea fișierului de paginare, sistemul de operare alocă doar 4 GB pentru rularea unei anumite aplicații.

Având în vedere că jumătate din spațiul de adresă al memoriei virtuale este alocat pentru nevoile sistemului în sine, pentru aplicație mai rămân doar 2 GB. Când programul rulează, spațiul de adrese de memorie virtuală trebuie rezervat într-un bloc contiguu. Când acest lucru nu este posibil, apare o fereastră (Fig. 1).

Cum să măriți memoria disponibilă

Fără a reinstala sistemul de operare, există două opțiuni pentru a corecta situația:


Folosind aceste metode, puteți reduce spațiul de adrese alocat sistemului de operare la 1 GB, mărind memoria aplicației la 3 GB.

Atenţie! Prin alocarea manuală a memoriei, puteți întâmpina probleme în funcționarea computerului personal, până la oprirea completă a sistemului.

Eliminarea liniei din fișierul boot.ini sau rularea comenzii și înlocuirea parametrului 2900 cu 2000 readuce sistemul la starea inițială.

Este important să înțelegeți că aceste metode sunt doar o soluție temporară a problemei; pentru a o elimina definitiv, trebuie să transferați baza de date pe o platformă pe 64 de biți.

Memoria insuficientă la generarea unui raport

Nu foarte des, dar această eroare apare atunci când apar rapoarte. În acest caz, procesarea generării unui document foaie de calcul este întârziată și, în final, se termină cu o fereastră, ca în prima figură.

Înainte de a intra în setările sistemului de operare și de a modifica parametrii de alocare a memoriei RAM, în acest caz este mai bine să încercați să schimbați setările raportului. Schimbați data, schimbați grupările, adăugați selecție. În cele mai multe cazuri, acest lucru ajută.

Dacă eroarea nu apare într-un raport standard (cum ar fi un card de cont sau un bilanţ) şi aveţi acces la codul de procesare sursă, verificaţi dacă se formează tabele temporare în interogare. Înregistrate în RAM și existente până la sfârșitul solicitării, pot consuma semnificativ resursele unui computer slab.

În general, pentru a evita astfel de situații, este foarte recomandat să distrugi tabelele temporare într-o interogare imediat după ce nu mai sunt necesare.

Scurgeri de memorie pe server

În unele cazuri, utilizatorii primesc un mesaj prezentat în Fig. 3

Orez. 3.

Aș dori să vorbesc separat despre motivele acestui comportament de server.

În general, expresia „scurgere de memorie” este oarecum inexactă; este mai bine să spunem că memoria este stocată, stratificată. Programele care lansează procese uită să le încheie în timp util. Drept urmare, se acumulează în RAM.

Al doilea motiv este fragmentarea memoriei. Dacă în timpul funcționării serverului are loc rezervarea și eliberarea intensivă a memoriei RAM, la un moment dat poate apărea o situație când cantitatea de memorie liberă este suficientă, dar este imposibil să captați un bloc continuu de adrese de memorie de dimensiune suficientă.

Puteți rezolva a doua problemă folosind utilitarele de sistem.

Drept urmare, ei pot:

  1. Sunt probleme cu conexiunea, se întrerupe, programul se blochează (Fig. 4)

Fig.4

  1. La descărcarea bazei de informații apar erori și blocări;
  2. Există salturi în memoria ocupată de procesele 1C.

Erori de actualizare

Această opțiune cu memorie redusă apare atunci când încercați să actualizați configurația la versiunea curentă. Poate fi asociat fie cu un număr mare de aplicații care rulează, fie cu erori în baza de date.

Prima acțiune atunci când apare această problemă este să lansați baza de date actualizată în modul configurator și să efectuați restructurarea acesteia (articolul de meniu Administrare->Testare și corectare), deși este mai bine să efectuați o gamă completă de lucrări pentru a corecta erorile și a reindexa tabelele. .

Cele mai bune articole pe această temă