A „Nincs elég memória” hiba az 1C 8.3 és 8.2 verziókban nem olyan ritka. Megtalálható a konfigurátorban is (például a konfigurációk összehasonlításakor), valamint az 1C:Enterprise módban, amikor időigényes feldolgozást hajt végre: például nagy base64 fájl írásakor.
Ez a hiba nem csak az 1C programban, hanem a Windows operációs rendszer más programjaiban is előfordulhat.
A helyzet az, hogy a 32 bites operációs rendszerekben alapértelmezés szerint 2 Gigabyte per különféle programokés ugyanez az operációs rendszerre is. A 64 bites operációs rendszerekben az alkalmazások számára lefoglalt memória mennyisége már 4 Gigabyte.
A fentiek alapján meg kell növelni az alkalmazások számára lefoglalt címmemória méretét, amely az 1C program. Ezt kétféleképpen lehet megtenni: 32 bites rendszerről 64 bitesre való átállással, vagy az eredetileg lefoglalt címmemória mennyiségének növelésével.
Természetesen az első módszer jobb és előnyösebb, de ha be Ebben a pillanatban, vagy egyáltalán nem tudod használni, akkor használhatod a másodikat.
Kezdje a napot, lépjen az operációs rendszer parancssorába. Ehhez lépjen a Start menübe, és írja be a "cmd" kifejezést a keresősávba.
Egy programkereső jelenik meg előtted. Válassza ki a "cmd" nevűt.
A parancssort a Windows + R gyorsbillentyűk kombinációjával is megnyithatja.
A megnyíló ablakban írja be a következő parancsot, majd nyomja meg az "Enter" billentyűt:
bcdedit /set growthuserva 3200
NÁL NÉL ez az eset a címmemória mennyiségét 3200 megabájtra növeli.
Miután sikerült, erősen ajánlott a korábbi mennyiségű címmemória visszaállítása. Ez az intézkedés ideiglenes, mivel amikor a memóriát lefoglalják az alkalmazások számára, az operációs rendszernek kevesebb van belőle. Emiatt a Windows stabilitása veszélybe kerülhet.
A címmemória alapértelmezett értékre való visszaállításához használhatja a következő parancsot, amelyet szintén be kell írni parancs sor:
bcdedit /deletevalue growthuserva
Felhívjuk figyelmét, hogy az 1C-ben gyakran előforduló „Memória megtelt” hibája esetén a megjelölt objektumok törlése is segíthet. Lehet, hogy a program rengeteget halmozott fel belőlük, és nehéz a programnak ilyen mennyiségű adatot feldolgozni. Ha ez a módszer nem segített, akkor növelnie kell a Windows operációs rendszer bitmélységét.
Hibák fordulnak elő. Megvizsgáljuk az egyiket, amely a „Nincs elég szabad memória az 1C:Enterprise szerveren” témának szentelve.
A „Nincs elég szabad memória az 1C:Enterprise szerveren” hiba elhárítása.
A munkafolyamatok memóriájának mennyisége az 1C ügynökkiszolgálón végzett munka során nem végtelen. A maximális terhelésnél a felhasználó egy üzenetet lát, amely örömet okoz az újdonságával - „Nincs elég szabad memória az 1C: Enterprise szerveren”.
Először is az ilyen üzenetek okairól - miért nincs elég memória. Több is lehet belőlük:
Elégtelen vaserő
Ha legfeljebb öt ember dolgozik a rendszerben, akkor elegendő egy nyolc gigabájtos számítógép két csavarral (az egyiken - SZERVER, a másodikon - SQL) és a kiegészítőleg telepített chipekkel. De egy másik dolog - körülbelül harminc felhasználó, több ezer elsődleges dokumentum. Ide kell áthelyezni az SQL-t külön szerver, és egy terminálkiszolgáló már nem tud megbirkózni.
Memória hiánya az extra információkhoz
A tipikus konfigurációk megpróbálják szó szerint leírni mindazokat a folyamatokat, amelyeket a fejlesztő elképzelhet, amikor egy 1C:Enterprise nevű univerzális könyvelési eszközt próbál létrehozni. Ezért egy adott felhasználó további poggyászt kap metaadat-objektumok, további SQL-táblák, fel nem használt részletek formájában. Mindezek felesleges regisztrálása és újraindexelése a program regisztereiben hosszú időt és sok helyet igényel.
Kódolási hibák
A szerver túlterhelés akkor is előfordul, ha a programozók (néha) nem értenek bizonyos folyamatokat, és bevezetik saját „mankóikat”, amelyek megnövelik a feladatok elvégzésének idejét (és a munkafolyamatok számát is).
Programhibák
Többek között, és gyakran ez a fő ok - az 1C programban hihetetlenül sok belső hiba található. Néhányukat a következő kiadásokban javítják. Számos fórum van szentelve ezeknek a hibáknak, ahol az adminok a következő trükkökről beszélgetve viccesen azt mondják, hogy valószínűleg csak tadzsik (Dzhamshut és Ravshan) dolgoznak egy es-ben.
Tehát mi a teendő az 1C szerverrel
Mivel a probléma okai eltérőek lehetnek, különböző módokon is ki lehet lépni a helyzetből:
A szerverszolgáltatás újraindítása
A leggyorsabb és egyszerű módon A megoldás a szerverszolgáltatás újraindítása. Parancssorból Microsoft Windows(cmd): a leállításhoz a parancs végrehajtásra kerül - net stop "1C:Enterprise 8.3 (vagy az Ön verziója) Server Agent", az indításhoz pedig - net start "1C:Enterprise 8.3 (verziójának megfelelően) Server Agent". Egy ilyen megoldás nem szünteti meg teljesen a problémát - leggyakrabban a hiba megismétlődik. Az ismétlődések gyakorisága az ügyfelek számától és a dolgozói folyamatok számától függ.
FONTOS. Az újraindításhoz rendelkeznie kell a megfelelő jogosultságokkal.
Automatikus újraindítás és a fürt beállításai
Néha még egy futó munkafolyamat is elfoglalhatja szinte a teljes RAM-ot. Ezt a problémát úgy oldja meg, hogy növeli a számukat a fürt beállításaiban. Minden tizenöt-harminc felhasználóhoz hozzávetőleg egy folyamat kerül hozzáadásra.
Újraindítási időköz. Röviddel az előző befejezése előtt elindul egy új folyamat, az rphost.exe. - A régi kapcsolatai átkerülnek rá. Megengedett memóriaméret - ha ezt az értéket túllépjük, egy második visszaszámláló indul el.
Intervallum a hangerőkorlát túllépéséhez – ha az időzítő túllépi ezt az értéket, új folyamat indul el. És a régi kapcsolatai kötődnek hozzá. A régi pedig inaktívnak van jelölve. Ki folyamatok leállítása után - miután a paraméter értéke elhaladt a munkafolyamat inaktívként való megjelölése után, az operációs rendszer leállítja azt. Ha ez a paraméter "0"-ra van állítva, akkor az összes inaktív folyamat nem fejeződik be automatikusan.
FONTOS. Ez a beállítás jellemző, hogy csak azt az ügyfelet szakítja meg az adatbázissal, amelyik a hibás jelentést indította el. A többit pedig simán áthelyezik új kapcsolatokra (alapjuk megszakítása nélkül).
Munkavállalói folyamatok száma
Ha az rphost.exe túl van terhelve háttérfeladatokkal, és nem jön létre új folyamat, ellenőrizze a beállításokat:
Max. A munkafolyamat-memória az összes folyamat összesített memóriája. Bájtban mérve. Ha rossz értéket állít be (nem megfelelő a normál működéshez), akkor mindenki a „Nincs elég szabad memória az 1s szerveren” hibaüzenetet kapja.
Biztonságos memóriafelhasználás 1 hívásonként – szabályozza a memóriafelhasználást a szerver hívása során (byte-ban). Ha egy hívás a megadottnál többet használ, akkor a fürtön belül megszakad. Nem indul újra. A munkamenet elvesztése pedig nem lesz hatással a többi ügyfélre.
A folyamatok számára rendelkezésre álló memória mennyisége, ameddig a szervert a rendszer produktívnak tekinti – ennek az értéknek az elérésekor a fürtszerver leállítja a kapcsolatok fogadását. Infobázisok száma folyamatonként – az információs bázisokat folyamatok szerint izolálja. Az infobázisok elkülönítése után (az érték megadásakor - "1") a problémák általában megoldódnak.
A kapcsolatok száma folyamatonként – az alapértelmezett érték "128". Ha egy jelenlegi bázis nagyon nagy terhelésben különbözik a háttérmunkáktól, akkor ezt a számot csökkentheti például „25-re”. Ezekkel a beállításokkal a fürt beállítása is módosul egy kicsit:
Hibatűrés szintje - a szerverek számát mutatja, amelyek meghibásodása esetén nem fog összeomlani a kliens. Ezzel egyidejűleg a biztonsági mentési szolgáltatások is automatikusan elindulnak a kívánt számban.
Terhelésmegosztás mód – két lehetséges opció van. Ha beállítja a "Teljesítmény prioritást" - akkor a szerver memóriája többet fog igénybe venni a teljesítmény növelése érdekében. A "Memória szerinti prioritás" kiválasztásakor az 1C fürt memóriát takarít meg.
Alap eszköz
Az adatbázis kezeléséhez MS SQL DBMS eszközök használata szükséges.
Konfiguráció ellenőrzése
Valószínűleg a hiba oka a konfigurációban található hibás információkban rejlik. Az ellenőrzéshez végre kell hajtani a "Konfiguráció ellenőrzése" parancsot. (Nem tévesztendő össze a teszteléssel!). A végrehajtás előtt ellenőriznie kell a jelölőnégyzet (jelző) beállítását - "logikai integritás". Ha hibát talál, az megjelenik az üzenetben. És a hibák el lesznek távolítva.
Megvizsgáltuk a szabad memória hiányának okait az 1C szerveren és ennek lehetséges megoldásait. Az egyik módszer biztosan megoldja a problémát.
Tekintsük részletesebben a „Nincs elég memória” hiba javításának lehetőségeit az 1C 8.3-ban.
1. módszer. Növelje a címmemória méretét
A címmemória kiosztása korlátozott szoftver operációs rendszer: 32 bites rendszerhez - 2 GB; 64 bites rendszerhez - 4 GB.
1. lépés
A címmemória méretének növeléséhez a következőket kell tennie: futtassa a parancssort rendszergazdai jogokkal:
- Start - Futtatás - a parancssorba írja be a CMD-t, és nyomja meg az Enter billentyűt:
- Vagy kattintson a jobb gombbal a Start gombra, és válassza a Parancssor (Rendszergazda) lehetőséget.
2. lépés
Ezután a parancs párbeszédpanelbe jutunk, ahol be kell írnunk a parancsot a címmemória növeléséhez. Írja be a parancssorba a BCDEdit /set growthuserva xxxx parancsot, ahol xxxx helyett a virtuális címterület mennyiségét adjuk meg megabájtban. Például 32 évesen bitrendszerek 3072 MB ajánlott:
3. lépés
Újraindítjuk a számítógépet. Végezzünk el olyan műveleteket az 1C 8.3 programban, amelyeket korábban nem szereztünk be.
4. lépés
A műveletek végrehajtása után jobb a címmemória visszaállítása az alapértelmezett értékre. Ehhez írja be a BCDEdit /deletevalue growthuserva parancsot a parancssorba:
Újraindítjuk a számítógépet.
2. módszer: Törölje a törlésre megjelölt dokumentumokat és könyvtárakat
Az 1C 8.3 platformon a segítségével vált lehetővé rutinfeladat.
A megjelölt objektumok törlésével a következőket teheti:
- Növelje a rendszer teljesítményét;
- Csökkentse az adatbázis méretét.
1. lépés: Hozzon létre egy másolatot az adatbázisról
Nyissa meg a következő elemet: Adminisztráció - Programbeállítások - Támogatás és karbantartás - biztonsági mentésés helyreállítás:
Állítson be ütemezést az adatbázis automatikus másolásához, és kattintson a Befejezés gombra:
További információ a teendőkről biztonsági mentés 1С 8.3 lásd videós bemutatónkban:
2. lépés Távolítsa el a megjelölt objektumokat
Nyissa meg az elemet A megjelölt objektumok automatikus törlése ütemezetten: szakasz Adminisztráció - Alkalmazásbeállítások - Támogatás és karbantartás - Ütemezett műveletek:
Ütemezés felállítása automatikus törlés megjelölt tárgyakat az 1C 8.3-ban megfelelő időben. Például az ebédszünet idején, és kattintson a Kész gombra:
A megtett intézkedések eredményeként az adatbázis mérete csökken, a rendszer teljesítménye javul, és az 1C „Nincs elég memória” hiba nem fordulhat elő.
Értékelje ezt a cikket:
Lehetetlen felsorolni az összes olyan helyzetet, amikor a „Nincs elég memória” (1. ábra) 1C hibaüzenet. Próbáljuk meg azonosítani a főbbeket:
- A konfiguráció frissítésekor;
- Amikor az alkalmazás elindul;
- Jelentés generálásakor;
- Nagy számítások végrehajtásakor (a „Költségszámítás”, „Hónap zárása” és így tovább dokumentum feladása).
Az ok minden esetben ugyanaz - hiánya fizikai memória számítógép. Ugyanakkor további csíkok hozzáadása a készülékhez véletlen hozzáférésű memória nem mindig oldja meg a problémát.
Mi határozza meg a rendelkezésre álló memória mennyiségét
A 32 bites operációs rendszereknek van egy jelentős tulajdonsága: a RAM mennyiségétől és a lapozófájl méretétől függetlenül az operációs rendszer csak 4 GB-ot foglal le egy adott alkalmazás működéséhez.
Tekintettel arra, hogy a címtér fele virtuális memória maga a rendszer igényeire van lefoglalva, csak 2 GB marad az alkalmazás működéséhez. Amikor egy program fut, a virtuális memória címterét egy összefüggő blokkban kell lefoglalni. Ha ez nem lehetséges, felugrik egy ablak (1. ábra).
Hogyan lehet növelni a rendelkezésre álló memóriát
Az operációs rendszer újratelepítése nélkül két lehetőség van a helyzet javítására:
Ezekkel a módszerekkel csökkentheti az operációs rendszer számára lefoglalt címterületet 1 GB-ra, az alkalmazás memóriáját pedig 3 GB-ra növelheti.
Figyelem! A memória kézi lefoglalásával működési problémák léphetnek fel. személyi számítógép egészen a rendszer teljes leállításáig.
Ha eltávolítja a sort a boot.ini fájlból, vagy futtatja a 2900-as paramétert 2000-re cserélt parancsot, a rendszer visszaáll az eredeti állapotába.
Fontos megérteni, hogy ezek a módszerek csak átmeneti megoldást jelentenek a problémára, végső kiküszöböléséhez az adatbázist 64 bites platformra kell átvinni.
Elfogyott a memória jelentés generálásakor
Nem túl gyakori, de ez a hiba jelentések előfordulásakor jelentkezik. Ebben az esetben a táblázatgenerálási feldolgozás végrehajtása késik, és végül egy ablakkal zárul, mint az első ábrán.
Mielőtt belemenne az operációs rendszer beállításaiba és megváltoztatná a RAM-kiosztási paramétereket, ebben az esetben jobb, ha megpróbálja megváltoztatni a jelentés beállításait. Dátum módosítása, csoportosítás módosítása, kijelölés hozzáadása. A legtöbb esetben ez segít.
Ha a hiba nem szabványos jelentésben (például számlakártyán vagy mérlegben) fordul elő, és hozzáfér a feldolgozási forráskódhoz, ellenőrizze, hogy nem generálnak-e ideiglenes táblákat a lekérdezésben. RAM-ba írva és a kérés végéig fennállva jelentősen felemésztik egy gyenge számítógép erőforrásait.
Általában az ilyen helyzetek elkerülése érdekében erősen ajánlott az ideiglenes táblák megsemmisítése a lekérdezésben, amint már nincs szükség rájuk.
Szerver memória szivárog
Egyes esetekben a felhasználók a 3. ábrán látható üzenetet kapnak
Rizs. 3.
A szerver ilyen viselkedésének okairól külön szeretnék beszélni.
Általánosságban elmondható, hogy a „memóriaszivárgás” kifejezés kissé pontatlan, jobb, ha azt mondjuk, hogy a memória tárolása, rétegzése történik. A folyamatokat elindító programok elfelejtik azokat időben leállítani. Ennek eredményeként felhalmozódnak a RAM-ban.
A második ok a memória töredezettsége. Ha a szerver működése során intenzív RAM lefoglalás és felszabadítás történik, akkor az egyik pillanatban előállhat olyan helyzet, amikor a szabad memória elegendő, de nem lehet megfelelő méretű memóriacímek folyamatos blokkját rögzíteni. .
A második probléma megoldható rendszer segédprogramjait.
Ennek eredményeként:
- Problémák vannak a kapcsolattal, megszakad, a program összeomlik; (4. ábra)
4. ábra
- A kirakodás során hibák és lefagyások jelennek meg információs bázis;
- Vannak ugrások az 1C folyamatok által elfoglalt memóriában.
Frissítési hibák
Ez a kifogyott memóriaváltozat akkor fordul elő, amikor megpróbálja frissíteni a konfigurációt a legújabb kiadásra. Nagy számhoz köthető futó alkalmazások, és az adatbázis hibáival.
A probléma felmerülésekor az első lépés a frissített adatbázis elindítása konfigurátor módban és újrastrukturálása (Adminisztráció->Tesztelés és javítás menüpont), bár jobb, ha a hibák kijavításán és újraindításán teljes körű munkát végez. -indexelő táblázatok.
A "A számítógépnek nincs elég memóriája" hiba oka a RAM, valamint a virtuális memória hiánya. Ebben a tekintetben a legvalószínűbb okok, amelyek ezt a helyzetet okozhatják, a következők:
- Valóságos hiány van a fizikai RAM-ból;
- Jelenleg sok folyamat fut a számítógépen (ezek lehetnek programok és munkamenetek a futó alkalmazásokon belül, például a böngésző lapjain);
- A merevlemez majdnem teljesen foglalt – ebben az esetben a lapozófájl nem fog megfelelően működni;
- Vannak olyan programok is, amelyek úgynevezett "memóriaszivárgást" okozhatnak – olyan helyzetet, amikor egy alkalmazás az összes rendelkezésre álló helyet elfoglalja feladatai végrehajtásához.
Ezen okok miatt operációs rendszer hibaüzenetet ad: "Nincs elég memória a számítógépen a memória felszabadításához, zárja be a programokat."
Valójában a probléma megoldása a kiváltó októl függ.
A RAM fizikai hiánya esetén természetesen növelnie kell a mennyiségét a boltban vásárolt RAM szalagok megvásárlásával. A legtöbb számítógép jelenleg 8 GB-ot használ, de minden attól függ, hogy milyen feladatokra vásárolták a számítógépet. Amikor a nagyszámú léc alátámasztására is érdemes figyelni alaplap. Továbbá, ha a számítógép nem új, és nem tervezi a frissítést, akkor sajnos el kell viselnie egy ilyen rendszerműködést.
Ha az ok az HDD teljesen foglalt, és nincs elég memória a számítógépen, akkor a Lemezkarbantartó segédprogramra lesz szüksége a felszabadításához. A szépség az, hogy nem teszi lehetővé a rendszer által használt fájlok törlését, amelyek működésképtelenségéhez vezetnek. Más szóval, lemeztisztítás Windows segédprogram segít biztonságosan törölni az ideiglenes és számos egyéb, a legtöbb esetben haszontalan fájlt. Futtatásához kattintson a jobb gombbal a C: meghajtóra, és válassza a "Tulajdonságok", majd a "Lemezkarbantartás" lehetőséget.
A segédprogram elvégzi a kezdeti elemzést, és megmutatja, mely fájlok törölhetők. Általános szabály, hogy ebben az esetben nem lesz túl nagy mennyiség. A "Rendszerfájlok törlése" gombra kattintva az elemzés újabb szakasza következik be, és a felszabaduló terület mennyisége minden bizonnyal megnő.
Azt is ellenőriznie kell, hogy a lapozófájl engedélyezve van-e. Abban az esetben használják, ha nincs elegendő memória a programok működéséhez, és többre van szükség, mint amennyi jelenleg fizikailag elérhető - ebben az esetben a hiányt a merevlemezen lévő szabad hely kompenzálja. Meg kell nyitnia a "Vezérlőpultot", majd a "Rendszert".
Nyitásunk után Extra lehetőségek rendszerek."
Váltson a "Speciális" fülre.
Kattintson a "Módosítás" gombra.
Ebben az ablakban kezelheti a lapozófájl méretét. Méretének automatikus beállítása javasolt.
Abban az esetben, ha egy másik program vagy sok folyamat miatt nincs elég memória, akkor logikus lesz megérteni, melyikük. Ebben az esetben a Feladatkezelőt úgy használhatja, hogy a folyamatokat a "Részletek" fül "Memória" oszlopa szerint rendezi.
A listában szereplő folyamatok elemzése után eldöntheti, mit kezdjen velük. Ez lehet normál működés (például frissítés közben), vagy rendellenes (belső alkalmazáshiba), vagy akár rosszindulatú program is. A rosszindulatú objektumok keresése mindenesetre nem árt. Bárhogy is legyen, ha egy bizonyos alkalmazás olyan hibát okoz, hogy nincs elég memória, akkor a negatív hatások kiküszöbölése érdekében ajánlott felvenni a kapcsolatot a szoftver támogatásával.
Szép napot!