Acasă / Sistem de operare mobil / Linia de memorie 1 mesaj. Lipsa memoriei pentru informații suplimentare

Linia de memorie 1 mesaj. Lipsa memoriei pentru informații suplimentare

Eroarea „Memorie insuficientă” în 1C 8.3 și 8.2 nu este atât de rară. Poate fi găsit și în configurator (de exemplu, la compararea configurațiilor), precum și în modul 1C:Enterprise atunci când se efectuează o procesare consumatoare de timp: de exemplu, la scrierea unui fișier base64 mare.

Această eroare poate apărea nu numai în programul 1C, ci și în alte programe ale sistemului de operare Windows.

Chestia este că în sistemele de operare pe 32 de biți, implicit, 2 Gigaocteți per diverse programeși același lucru pentru sistemul de operare. În sistemele de operare pe 64 de biți, cantitatea de memorie alocată pentru aplicații este deja de 4 gigaocteți.

În urma celor de mai sus, trebuie să măriți dimensiunea memoriei de adrese alocate pentru aplicații, care este programul 1C. Acest lucru se poate face în două moduri: pentru a face o tranziție de la un sistem pe 32 de biți la unul pe 64 de biți sau pentru a crește cantitatea de memorie de adrese alocată inițial.

Desigur, prima metodă este mai bună și de preferat, dar dacă în acest moment, sau deloc, nu o puteți folosi, atunci o puteți folosi pe a doua.
Ziua de început, accesați linia de comandă a sistemului de operare. Pentru a face acest lucru, accesați meniul de pornire și tastați „cmd” în bara de căutare.

O căutare de program va apărea în fața ta. Selectați-o pe cea numită „cmd”.

De asemenea, puteți deschide promptul de comandă folosind combinația de taste rapide Windows + R.

În fereastra care se deschide, tastați următoarea comandă și apăsați, de asemenea, „Enter”:

bcdedit /set increaseuserva 3200

ÎN acest caz veți crește cantitatea de memorie de adrese la 3200 de megaocteți.

După ce ați reușit, este foarte recomandat să restaurați cantitatea anterioară de memorie de adrese. Această măsură este temporară, deoarece atunci când este alocată memorie pentru aplicații, sistemul de operare are mai puțină. Din acest motiv, stabilitatea Windows poate fi compromisă.

Pentru a restabili memoria de adrese la valoarea implicită, puteți utiliza următoarea comandă, care este de asemenea introdusă Linie de comanda:

bcdedit /deletevalue cresteuserva

Vă rugăm să rețineți că, cu eroarea frecvent întâlnită „Out of memory” în 1C, ștergerea obiectelor marcate poate ajuta, de asemenea. Poate că programul a acumulat multe dintre ele și este dificil pentru program să proceseze astfel de volume de date. Dacă această metodă nu a ajutat, atunci ar trebui să măriți adâncimea de biți a sistemului de operare Windows.

Apar erori. Vom lua în considerare una dintre ele, dedicată subiectului „Memorie liberă insuficientă pe serverul 1C:Enterprise”.

Cum să remediați eroarea „Nu este suficientă memorie liberă pe serverul 1C: Enterprise”.

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


În primul rând, despre cauzele unor astfel 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 un alt lucru - aproximativ treizeci de utilizatori, mii de documente primare. Aici SQL-ul trebuie mutat în server separat, iar un server terminal nu mai poate face față.

Lipsa memoriei pentru informații suplimentare

Configurațiile tipice încearcă să descrie literalmente toate procesele pe care un dezvoltator și le-ar putea imagina atunci când încearcă 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, detalii neutilizate. Înregistrarea permanentă și reindexarea 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 unele procese și își introduc propriile „cârje” care măresc timpul pentru finalizarea sarcinilor (ș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 despre următoarele trucuri, spun în glumă că probabil doar tadjicii (Dzhamshut și Ravshan) lucrează într-un singur es.

Deci, ce să faci cu serverul 1C

Deoarece cauzele problemei pot fi diferite, există și moduri diferite de a ieși din situație:

Repornirea serviciului server

Cel mai rapid și într-un mod simplu Soluția este să reporniți serviciul server. Din linia de comandă Microsoft Windows(cmd): pentru a opri, se execută 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.) Server Agent". O astfel de soluție nu elimină complet problema - cel mai adesea eroarea se repetă. Frecvența repetărilor sale depinde de numărul de clienți și de numărul de procese ale lucrătorilor.

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 întreaga memorie RAM. Această problemă este rezolvată prin creșterea numărului acestora în setările clusterului. Aproximativ un proces este adăugat pentru fiecare cincisprezece până la treizeci de utilizatori.

Interval de repornire. Cu puțin timp înainte de finalizarea celui precedent, este pornit 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 limitei de volum - când temporizatorul depășește această valoare, va fi lansat un nou proces. Și conexiunile de la cea veche vor fi legate de el. 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ă acest parametru este setat la „0” - atunci toate procesele inactive nu vor fi încheiate automat.

IMPORTANT. Această setare este tipică prin faptul că deconectează de la baza de date doar clientul care a lansat raportul incorect. Și restul - vor fi mutate 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, verificați setările:

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

Safe memory consumption per 1 call - controlează consumul de memorie în timpul unui apel de către server (în octeți). Dacă un apel folosește mai mult decât este specificat, acesta va fi terminat în cluster. Nu va reporni. Iar pierderea sesiunii nu va afecta alți clienți.

Cantitatea de memorie pentru procese, până la care serverul este considerat productiv de către sistem - atunci când această valoare este atinsă, serverul cluster nu mai acceptă conexiuni. Număr de baze de informații per proces - izolează bazele de informații pe procese. După izolarea infobazelor (la introducerea valorii - „1”), problemele sunt de obicei rezolvate.

Numărul de conexiuni per proces - valoarea implicită este „128”. Dacă baza actuală diferă într-o încărcare foarte mare de joburile de fundal, atunci puteți reduce acest număr, de exemplu, la „25”. Cu aceste setări, configurarea clusterului se va schimba puțin:

Nivelul de toleranță la erori - arată numărul de servere, în cazul unei defecțiuni a căror defecțiune nu va fi blocată de clienți. În același timp, serviciile de backup vor fi lansate automat în numărul necesar.

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

Instrument de bază

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

Verificarea configurației

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

Am examinat motivele lipsei de memorie liberă pe serverul 1C și posibilele soluții la aceasta. Una dintre metode va rezolva cu siguranță problema.

Să luăm în considerare mai detaliat opțiunile pentru remedierea erorii „Memorie insuficientă” în 1C 8.3.

Metoda 1. Măriți dimensiunea memoriei de adrese

Există o limitare în alocarea memoriei de adrese pentru software sistem 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 - la promptul de comandă, tastați CMD și apăsați Enter:
  • Sau faceți clic dreapta pe butonul Start și selectați Command Prompt (Admin).

Pasul 2

Apoi, intrăm în fereastra de comandă de dialog, unde trebuie să introducem comanda pentru a mări memoria de adrese. Introduceți în linia de comandă BCDEdit /set increaseuserva xxxx, unde în loc de xxxx specifică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

Repornim computerul. Să efectuăm acțiuni în programul 1C 8.3 care nu au fost obținute mai devreme.

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ă:

Repornim computerul.

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

În platforma 1C 8.3, a devenit posibil cu ajutorul unei sarcini programate.

Ștergerea 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 si recuperare:

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

Aflați mai multe cum să faceți backup 1С 8.3 vezi în tutorialul nostru video:

Pasul 2. Scoateți obiectele marcate

Deschideți elementul Ștergeți automat obiectele marcate într-un program: secțiunea Administrare - Setări aplicație - Suport și întreținere - Operațiuni programate:

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

Ca urmare a acțiunilor întreprinse, 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ă.


Evaluează acest articol:

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;
  • Când pornește aplicația;
  • La generarea unui raport;
  • La efectuarea unor calcule mari (afișarea documentului „Calcul cost”, „Închiderea lunii” și așa mai departe).

În toate cazurile, motivul este același - lipsa memorie fizică calculator. În același timp, adăugați benzi suplimentare la dispozitiv memorie cu acces aleator nu rezolvă întotdeauna problema.

Ceea ce determină cantitatea de memorie disponibilă

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 funcționarea unei anumite aplicații.

Având în vedere că jumătate din spațiul de adrese memorie virtuala sunt alocate pentru nevoile sistemului în sine, rămân doar 2 GB pentru ca aplicația să funcționeze. Când un program rulează, spațiul de adresă 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 corectarea situației:


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, este posibil să întâmpinați probleme în funcționare. calculator personal până la oprirea completă a sistemului.

Eliminarea liniei din fișierul boot.ini sau rularea comenzii cu parametrul 2900 înlocuit 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 eliminarea sa finală, este necesar să transferați baza de date pe o platformă pe 64 de biți.

Memorie lipsită la generarea unui raport

Nu este foarte comun, dar această eroare apare atunci când apar rapoarte. În acest caz, execuția procesării de generare a foii de calcul este întârziată și în final se încheie 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 o selecție. În cele mai multe cazuri, acest lucru ajută.

Dacă eroarea apare într-un raport nestandard (cum ar fi un card de cont sau un bilanţ) şi aveţi acces la codul sursă de procesare, verificaţi dacă sunt generate tabele temporare în interogare. Scrise î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 dintr-o interogare imediat 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 al serverului.

În general, expresia „scurgere de memorie” este oarecum inexactă, este mai bine să spunem că memoria este stocată, stratificată. Programele care pornesc 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 există o rezervare și o eliberare intensivă a RAM, într-unul dintre momente poate apărea o situație când cantitatea de memorie liberă este suficientă, dar este imposibil să captezi un bloc continuu de adrese de memorie de dimensiune suficientă. .

A doua problemă poate fi rezolvată cu utilități de sistem.

Ca urmare, acestea pot:

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

Fig.4

  1. În timpul descărcarii apar erori și înghețuri baza de informatii;
  2. Există salturi în memorie ocupată de procesele 1C.

Erori de actualizare

Acest scenariu de lipsă de memorie apare atunci când se încearcă actualizarea configurației la cea mai recentă versiune. Poate fi asociat cu un număr mare rulează aplicații, și cu erori în baza de date.

Primii pași care trebuie urmați atunci când apare această problemă sunt lansarea bazei de date actualizate în modul configurator și restructurarea acesteia (element de meniu Administrare->Testare și reparare), deși este mai bine să efectuați o gamă completă de lucrări privind remedierea erorilor și re -tabele de indexare.

Apariția erorii „Nu există suficientă memorie pe computer” se datorează lipsei de memorie RAM, precum și a memoriei virtuale. În acest sens, cele mai probabile motive care pot provoca această situație sunt următoarele:

  • Există o lipsă reală de memorie RAM fizică;
  • O mulțime de procese rulează în prezent pe computer (acestea pot fi atât programe, cât și sesiuni în interiorul aplicațiilor care rulează, de exemplu, filele browserului);
  • Hard disk-ul este aproape complet ocupat - în acest caz, fișierul de paginare nu va funcționa normal;
  • Există și programe care pot provoca o așa-numită „scurgere de memorie” – o situație în care o aplicație ocupă tot spațiul disponibil pentru a-și îndeplini sarcinile.

Este din aceste motive sistem de operare dă eroarea „Nu există suficientă memorie pe computer pentru a elibera memorie, închide programe”.

De fapt, soluția la această problemă depinde de cauza principală.

În cazul unui deficit fizic de memorie RAM, desigur, va trebui să-i creșteți volumul prin achiziționarea de benzi RAM din magazin. Majoritatea computerelor folosesc acum 8 GB, dar totul depinde de sarcinile pentru care a fost achiziționat computerul. Când ar trebui să acordați atenție și sprijinului unui număr mare de șipci placa de baza. De asemenea, dacă computerul nu este nou și nu există planuri de upgrade, atunci, din păcate, va trebui să suportați o astfel de funcționare a sistemului.

Dacă motivul este HDD este complet ocupat și nu există suficientă memorie pe computer, veți avea nevoie de utilitarul Disk Cleanup pentru a-l elibera. Frumusețea este că nu vă va permite să ștergeți fișierele care sunt utilizate de sistem și să conducă la inoperabilitatea acestuia. Cu alte cuvinte, curățarea discului Utilitarul Windows vă va ajuta să ștergeți în siguranță fișiere temporare și o serie de alte fișiere, în cele mai multe cazuri inutile. Îl puteți rula făcând clic dreapta pe unitatea C: și selectând „Proprietăți” și apoi „Curățare disc”.

Utilitarul va efectua o analiză inițială și va arăta ce fișiere pot fi șterse. De regulă, în acest caz nu va fi un volum foarte mare. Făcând clic pe „Clean up system files” va avea loc o altă etapă de analiză și, cu siguranță, cantitatea de spațiu eliberată va fi crescută.

De asemenea, ar trebui să verificați dacă fișierul de paginare este activat. Este utilizat în cazul în care nu există suficientă memorie pentru ca programele să funcționeze și este nevoie de mai mult decât este disponibil fizic în prezent - în acest caz, deficitul va fi compensat de spațiul liber pe hard disk. Trebuie să deschideți „Panou de control”, apoi „Sistem”.

După ce deschidem Opțiuni suplimentare sisteme”.

Comutați la fila „Avansat”.

Facem clic pe „Schimbare”.

În această fereastră, puteți gestiona dimensiunea fișierului de paginare. Este recomandat să-i setați automat dimensiunea.

În cazul în care nu există suficientă memorie din cauza unui alt program sau a multor procese, atunci va fi logic să înțelegem care dintre ele. În acest caz, puteți utiliza Task Manager sortând procesele după coloana „Memorie” din fila „Detalii”.

După ce ați analizat procesele din listă, puteți decide ce să faceți cu ele. Aceasta poate fi fie o funcționare normală (de exemplu, în timpul unei actualizări), fie anormală (defecțiune internă a aplicației) sau poate fi chiar malware. În orice caz, verificarea obiectelor rău intenționate nu va strica. Oricum ar fi, dacă o anumită aplicație provoacă o eroare că nu este suficientă memorie, este recomandat să contactați suportul acestui software pentru a elimina efectele negative.

O zi bună!