Nedostatek paměti pro nepotřebné informace.

Dochází k chybám. Zvážíme jeden z nich, věnovaný tématu „Nedostatek volné paměti na serveru 1C: Enterprise“.

Metoda pro odstranění chyby „Nedostatek volné paměti na serveru 1C: Enterprise“.

Množství paměti pracovních procesů při práci na 1C agent-serveru není nekonečné. Při maximální zátěži uživatel před sebou vidí zprávu, která ho potěší svou novinkou - „Nedostatek volné paměti na serveru 1C: Enterprise“.


Nejprve o důvodech pro tento druh zpráv - proč není dostatek paměti. Může jich být několik:

Nedostatečný výkon železa

Pokud systém zaměstnává až pět lidí, bude stačit jeden osmigigabajtový počítač se dvěma šrouby (na jednom - SERVER, na druhém - SQL) a navíc osazenými čipy. Ale jiná věc – asi třicet uživatelů, tisíce primárních dokumentů. Zde je také potřeba SQL přesunout na samostatný server a již není možné pracovat s jedním terminálovým serverem.

Nedostatek paměti pro nepotřebné informace

Typické konfigurace se snaží popsat doslova všechny procesy, které si vývojář dokáže jen představit, a snaží se vytvořit univerzální účetní nástroj s názvem 1C: Enterprise. Konkrétní uživatel tedy dostává další zavazadla v podobě propasti metadatových objektů, dalších SQL tabulek, nevyužitých atributů. Neustálá registrace a přeindexování toho všeho zbytečného v registrech programu zabere dlouhou dobu a spoustu místa.

Chyby v kódování

K přetížení serveru dochází také tehdy, když programátoři nerozumí (někdy) některým procesům a implementují vlastní „berličky“, které prodlužují termín dokončení úkolů (a také počet pracovních procesů).

Chyby programu

Mimo jiné, a to je často skoro ten hlavní důvod – program 1C má neskutečné množství vnitřních chyb. Některé z nich jsou opraveny v následujících vydáních. Těmto chybám je věnováno velké množství fór, na kterých admini, diskutující o dalších tricích, vtipně říkají, že v jednom ES pravděpodobně pracují pouze Tádžikové (Dzhamshut a Ravshan).

Co tedy dělat se serverem 1C

Protože příčiny problému mohou být různé, existují také různé způsoby, jak se ze situace dostat:

Restartování služby serveru

Nejrychlejší a jednoduchým způsobemŘešením je restartování služby serveru. Z příkazového řádku Microsoft Windows(cmd): pro zastavení se příkaz provede - net stop "1C: Enterprise 8.3 (nebo vaše verze) Server Agent" a pro spuštění - net start "1C: Enterprise 8.3 (podle vaší verze) Server Agent". Takové rozhodnutí otázku zcela neodstraní – nejčastěji se chyba opakuje. Její opakovací frekvence závisí na počtu klientů a počtu pracovních procesů.

DŮLEŽITÉ. Abyste mohli restartovat, musíte mít příslušná práva.

Auto restart a nastavení clusteru

Někdy může i jeden běžící workflow zabrat téměř celou RAM. Tento problém je vyřešen zvýšením jejich počtu v nastavení clusteru. Přidejte asi jeden proces na každých patnáct až třicet uživatelů.

Interval restartu. Krátce před dokončením začíná předchozí nový proces rphost.exe. - Do ní se převádějí spoje ze starého. Povolená velikost paměti - při překročení této hodnoty se spustí druhý odpočítávací časovač.

Interval pro překročení limitní hlasitosti - když časovač překročí tuto hodnotu, spustí se nový proces. A na něj budou navázány spoje ze starého. A ten starý je zase označen jako neaktivní. Vypnuto zastavit procesy po - po překročení hodnoty tohoto parametru po označení workflow za neaktivní bude ukončen operačním systémem. Pokud je tento parametr zadán rovný "0" - pak všechny neaktivní procesy nebudou automaticky ukončeny.

DŮLEŽITÉ. Toto nastavení je charakteristické tím, že odpojí od databáze pouze klienta, který spustil chybný report. A zbytek se plynule přesune do nových spojů (bez přerušení z jejich základny).

Počet pracovních procesů

Pokud je rphost.exe přetížen úlohami na pozadí a nevytvářejí se žádné nové procesy, musíte zkontrolovat nastavení:

Max. paměť pracovního procesu je celkové množství paměti pro všechny procesy dohromady. Měřeno v bajtech. Pokud nastavíte špatnou hodnotu (neodpovídající normálnímu provozu), všichni obdrží chybu „Nedostatek volné paměti na serveru 1c“.

Bezpečná spotřeba paměti na 1 hovor - řídí spotřebu paměti při volání ze serveru (v bajtech). Při použití s ​​voláním více, než je uvedeno, bude ukončeno v rámci clusteru. Nerestartuje se. A ztráta relace neovlivní ostatní klienty.

Velikost paměti pro procesy, do které je server systémem považován za efektivní - při dosažení této hodnoty přestane cluster server přijímat připojení. Počet informačních bází na proces – izoluje informační bezpečnost podle procesů. Po izolaci infobází (pokud zadáte hodnotu "1") jsou problémy obvykle vyřešeny.

Počet připojení na proces – ve výchozím nastavení je hodnota nastavena na „128“. Pokud má aktuální základ velmi vysokou zátěž z úloh na pozadí, můžete toto číslo snížit například na „25“. S těmito nastaveními se mírně změní také nastavení clusteru:

Úroveň odolnosti proti chybám - zobrazuje počet serverů, při jejichž poruše nedojde k nouzovému odstavení klientů. V tomto případě budou automaticky spuštěny zálohovací služby v požadovaném množství.

Režim sdílení zátěže – má dva možné možnosti... Pokud nastavíte "Priorita podle výkonu" - pak bude paměť serveru spotřebována více pro zvýšení výkonu. Když vyberete "Priorita v paměti" - podle clusteru 1C, paměť se uloží.

Databázový nástroj

Pro práci s databází je nutné použít prostředky MS SQL DBMS.

Kontrola konfigurace

Možná příčina chyby spočívá v nesprávných informacích obsažených v konfiguraci. Chcete-li to zkontrolovat, musíte provést příkaz "Zkontrolovat konfiguraci". (Neplést s testováním!). Před spuštěním je třeba zkontrolovat nastavení zaškrtávacího políčka (příznaku) - "logická integrita". Pokud je nalezena nesprávnost, projeví se to ve zprávě. A chyby budou odstraněny.

Zkoumali jsme důvody nedostatku volné paměti na serveru 1C a možné způsoby odstranění tohoto. Jeden ze způsobů jistě problém vyřeší.

Není možné vyjmenovat všechny situace, kdy dojde k chybě 1C „Nedostatek paměti“ (obr. 1). Zkusme identifikovat ty hlavní:

  • Při aktualizaci konfigurace;
  • Při spuštění aplikace;
  • Při generování zprávy;
  • Při provádění velkých kalkulací (zaúčtování dokladu "Výpočet nákladů", "Uzávěrka měsíce" atd.).

Důvod je ve všech případech stejný – nedostatek fyzická paměť počítač. Současně přidávání dalších proužků do zařízení paměť s náhodným přístupem, problém se ne vždy vyřeší.

Co určuje velikost dostupné paměti

32bitové operační systémy mají jednu významnou vlastnost: bez ohledu na velikost paměti RAM a velikost stránkovacího souboru operační systém alokuje pouze 4 GB pro provoz konkrétní aplikace.

Vzhledem k tomu, že polovina adresního prostoru virtuální paměti je alokována pro potřeby samotného systému, zbývají pro fungování aplikace pouze 2 GB. Když je program spuštěn, musí být adresní prostor virtuální paměti vyhrazen v jednom souvislém bloku. Když to není možné, objeví se okno (obr. 1).

Jak zvětšit dostupnou paměť

Bez přeinstalace operačního systému existují dvě možnosti nápravy situace:


Tyto metody mohou snížit adresní prostor přidělený operačnímu systému na 1 GB zvýšením paměti pro aplikaci na 3 GB.

Pozornost! Ručním přidělováním paměti se můžete dostat do problémů osobní počítač až do úplného zastavení systému.

Odstraněním řádku ze souboru boot.ini nebo spuštěním příkazu nahrazením parametru 2900 hodnotou 2000 se systém vrátí do původního stavu.

Je důležité pochopit, že tyto metody jsou pouze dočasným řešením problému, pro jeho definitivní odstranění je nutné převést základnu na 64bitovou platformu.

Nedostatek paměti při generování zprávy

Není to příliš časté, ale k této chybě dochází, když se objeví hlášení. V tomto případě je zpracování tvorby tabulkového dokumentu zpožděno a nakonec končí oknem, jako na prvním obrázku.

Než přejdete do nastavení operačního systému a změníte parametry alokace RAM, v tomto případě je lepší zkusit změnit nastavení sestavy. Změňte datum, změňte seskupení, přidejte výběr. Ve většině případů to pomáhá.

Pokud se chyba nevyskytuje ve standardní sestavě (například na kartě účtu nebo rozvaze) a máte přístup k původnímu kódu zpracování, zkontrolujte, zda se v dotazu negenerují dočasné tabulky. Zapsané v RAM a existující až do konce požadavku mohou výrazně spotřebovávat zdroje slabý počítač.

Obecně platí, že aby se takovým situacím předešlo, důrazně se doporučuje zničit dočasné tabulky v dotazu ihned poté, co již nejsou potřeba.

Únik paměti serveru

V některých případech uživatelé obdrží zprávu zobrazenou na obr. 3

Rýže. 3.

Chtěl bych samostatně říci o důvodech tohoto chování serveru.

Obecně je sousloví „únik paměti“ poněkud nepřesné, lépe by bylo říci, že se paměť ukládá, vrství. Programy, které spouštějí procesy, je zapomínají včas ukončit. V důsledku toho se hromadí v paměti RAM.

Druhým důvodem je fragmentace paměti. Pokud během provozu serveru dochází k intenzivní rezervaci a uvolnění paměti RAM, může v jednom z okamžiků nastat situace, kdy je množství volné paměti dostatečné, ale není možné zachytit souvislý blok adres paměti o dostatečném velikost.

Druhý problém můžete vyřešit pomocí systémové nástroje.

V důsledku toho mohou:

  1. Vyskytly se problémy s připojením, je odpojeno, program padá; (obr. 4)

Obr

  1. Při vykládání se objevují chyby a zamrzání informační základna;
  2. V paměti obsazené procesy 1C dochází ke skokům.

Chyby aktualizace

Tento scénář nedostatku paměti nastává při pokusu o aktualizaci konfigurace na aktuální verzi. To může být spojeno s velkým počtem běžící aplikace a s chybami v databázi.

Prvním krokem při výskytu tohoto problému je spuštění aktualizované databáze v režimu konfigurátoru a její restrukturalizace (položka nabídky Správa-> Testování a opravy), i když je lepší provést celou řadu prací na opravě chyb a reindexaci tabulky.

Chyba „Nedostatek paměti“ v 1C 8.3 a 8.2 není tak vzácná. Lze jej nalézt v konfigurátoru (například při porovnávání konfigurací) a také v režimu 1C: Enterprise při provádění náročného zpracování: například při nahrávání velkého souboru ve formátu base64.

Tato chyba se může objevit nejen v programu 1C, ale také v jiných programech operačního systému Windows.

Jde o to, že v 32bitových operačních systémech jsou výchozí hodnoty 2 GB pro různé programy a stejné pro operační systém. V 64bitových operačních systémech je množství paměti přidělené pro aplikace již 4 gigabajty.

V návaznosti na výše uvedené je potřeba zvětšit velikost přidělené adresové paměti pro aplikace, což je program 1C. To lze provést dvěma způsoby: přechodem z 32bitového systému na 64bitový systém nebo zvýšením původně přiděleného množství adresové paměti.

Samozřejmě, že první metoda je lepší a výhodnější, ale pokud je v tento moment, nebo jej nemůžete použít vůbec, pak můžete použít druhý.
Počáteční den přejděte na příkazový řádek operačního systému. Chcete-li to provést, přejděte do nabídky "Start" a do vyhledávacího pole zadejte "cmd".

Zobrazí se vyhledávání programů. Vyberte ten s názvem "cmd".

Příkazový řádek můžete otevřít také pomocí kombinace hot klávesy Windows+ R.

V okně, které se otevře, zadejte následující příkaz a také stiskněte "Enter":

bcdedit / sada zvýšeníuserva 3200

PROTI v tomto případě zvětšíte velikost adresové paměti na 3200 megabajtů.

Poté, co jste udělali vše, důrazně doporučujeme obnovit předchozí velikost paměti adres. Toto opatření je dočasné, protože když je paměť alokována pro aplikace, operační systém jí má méně. V důsledku toho může být narušena stabilita systému Windows.

Chcete-li obnovit paměť adres na výchozí hodnotu, můžete použít následující příkaz, který se také zadává příkazový řádek:

bcdedit / deletevalue zvýšeníuserva

Upozorňujeme, že v případě běžné chyby „Nedostatek paměti“ v 1C může pomoci i smazání označených objektů. Možná jich program nashromáždil hodně a je pro něj obtížné zpracovat takové objemy dat. Pokud tato metoda nepomohla, měli byste zvýšit bitovou rychlost operačního systému Windows.

Podívejme se podrobněji na možnosti opravy chyby „Nedostatek paměti“ v 1C 8.3.

Metoda 1. Zvětšete velikost paměti adres

Existuje omezení v alokaci adresové paměti software operační systém: pro 32bitový systém - 2 GB; pro 64bitový systém - 4 GB.

Krok 1

Chcete-li zvětšit velikost paměti adres, musíte provést následující: spusťte příkazový řádek s právy správce:

  • Start - Spustit - do příkazového řádku zadejte CMD a stiskněte Enter:

Krok 2

Dále se dostaneme do příkazového dialogového okna, kde musíme zadat příkaz pro zvětšení paměti adresy. Zadáme do příkazového řádku BCDEdit / set raiseuserva xxxx, kde místo xxxx uvedeme velikost virtuálního adresního prostoru v megabajtech. Například ve 32. letech bitové systémy Doporučeno 3072 MB:

Krok 3

Restartujeme počítač. Proveďme akce v programu 1C 8.3, které nebyly získány dříve.

Krok 4

Po dokončení operací je nejlepší vrátit paměť adres na výchozí hodnotu. Chcete-li to provést, zadejte na příkazovém řádku BCDEdit / deletevalue raiseuserva:

Restartujeme počítač.

Metoda 2. Odstraňte dokumenty a adresáře označené k odstranění

Na platformě 1C 8.3 to bylo možné pomocí naplánované úlohy.

Smazání označených objektů vám umožní:

  1. Zvyšte výkon systému;
  2. Zmenšete velikost databáze.

Krok 1. Vytvořte kopii základny

Otevřete položku: Sekce Administrace - Nastavení programu - Podpora a údržba - Záloha a zotavení:

Nastavte plán automatického kopírování databáze a klikněte na Dokončit:

Další podrobnosti o tom, jak vyrobit záloha 1C 8.3 naleznete v našem video tutoriálu:

Krok 2. Odstranění označených předmětů

Otevřete položku Automaticky mazat označené objekty podle plánu: sekce Administrace - Nastavení programu - Podpora a údržba - Běžné operace:

Nastavení rozvrhu automatické mazání označené objekty v 1C 8.3 na vhodná doba... Například v době oběda a klikněte na Dokončit:

V důsledku provedených akcí se velikost databáze sníží, výkon systému se zlepší a nemělo by docházet k chybám 1C „Nedostatek paměti“.


Ohodnoťte tento článek:

Pokud se objeví chyba "V počítači není dostatek paměti", je to způsobeno nedostatkem paměti RAM a také virtuální paměti. V tomto ohledu nejvíce pravděpodobné příčiny které mohou způsobit tuto situaci, jsou následující:

  • Existuje skutečný nedostatek fyzické paměti RAM;
  • V počítači aktuálně běží mnoho procesů (mohou to být programy i relace uvnitř běžících aplikací, například karty prohlížeče);
  • Pevný disk je téměř zcela obsazen - v tomto případě nebude stránkovací soubor fungovat normálně;
  • Existují také programy, které mohou způsobit takzvaný „únik paměti“ – tedy situaci, kdy aplikace zabere veškerý dostupný prostor pro plnění svých úkolů.

Je to z těchto důvodů operační systém zobrazí chybu "Nedostatek paměti v počítači k uvolnění paměti, ukončete programy."

Ve skutečnosti řešení tohoto problému závisí na hlavní příčině.

V případě fyzického nedostatku RAM bude samozřejmě potřeba navýšit její objem zakoupením RAM stripů v obchodě. Většina počítačů nyní používá 8 GB, ale vše závisí na úkolech, pro které byl počítač zakoupen. Měli byste také věnovat pozornost podpoře velký počet prkna základní deska... Také, pokud počítač není nový a neplánuje se jeho upgrade, pak se bohužel budete muset s takovým provozem systému smířit.

Pokud je důvodem to HDD je zcela obsazený a počítač nemá dostatek paměti, k jeho uvolnění budete potřebovat nástroj na čištění disku. Jeho krása spočívá v tom, že vám nedovolí smazat soubory, které systém používá, a učinit jej nefunkčním. Jinými slovy, čištění disku Nástroj pro Windows pomůže bezpečně odstranit dočasné soubory a řadu dalších, ve většině případů zbytečných souborů. Můžete jej spustit kliknutím pravým tlačítkem myši na jednotku C: a výběrem Vlastnosti a poté Vyčištění disku.

Nástroj provede úvodní analýzu a ukáže, které soubory lze smazat. Zpravidla se v tomto případě nebude jednat o příliš velký objem. Kliknutím na „Vymazat systémové soubory»Uběhne ještě jedna fáze analýzy a množství uvolněného místa se jistě zvýší.

Měli byste také zkontrolovat, zda je povolen odkládací soubor. Používá se, pokud není dostatek paměti pro fungování programů a je potřeba více, než je momentálně fyzicky k dispozici – v tomto případě bude nedostatek kompenzován volným místem na pevném disku. Je nutné otevřít "Ovládací panely", poté "Systém".

Pak otevřeme" Extra možnosti systémy“.

Přepněte na kartu "Upřesnit".

Klikneme na „Změnit“.

V tomto okně můžete ovládat velikost stránkovacího souboru. Jeho velikost se doporučuje nastavit automaticky.

V případě, že kvůli jinému programu nebo mnoha procesům není dostatek paměti, bude logické pochopit, který z nich. V tomto případě můžete použít Správce úloh seřazením procesů podle sloupce Paměť na kartě Podrobnosti.

Po analýze procesů v seznamu se můžete rozhodnout, co s nimi uděláte. To může být buď běžný režim provozu (například během aktualizace), nebo abnormální (interní selhání aplikace), nebo to může být vůbec malware. Kontrola škodlivých objektů každopádně neuškodí. Ať je to jakkoli, pokud určitá aplikace způsobí chybu, že není dostatek paměti, pak je doporučeno kontaktovat podporu tohoto softwaru, aby se negativní vlivy eliminovaly.

Přeji krásný den!