Az 1s 8.3 logbook felemészti az összes memóriát. Memóriahiány a szükségtelen információkhoz

Az 1C 8.3-mal való munka során fellépő egyik leggyakoribb hiba a „Nincs elég memória”. Valójában számos esemény után fordulhat elő - frissítés, nagy fájlok feldolgozása, jelentéskészítés, adatok betöltése és egyebek. Ez azt jelenti, hogy minden rendszergazdának és 1C fejlesztőnek meg kell értenie a probléma lényegét, és meg kell tudnia oldani. A számítógép RAM-jának vagy merevlemezének pusztán növelése nem oldja meg ezt a problémát.

A probléma megoldása az ügyfélszámítógépen

Ennek a hibának az okai nem teljesen az 1C rendszerben rejlenek, mivel hasonló hibát láthat más alkalmazásokban is. A probléma az, hogy a Microsoft család operációs rendszereiben alapértelmezés szerint minden alkalmazáshoz egy bizonyos mennyiségű memória van lefoglalva. 32 bites rendszerek esetén ez az érték 2 GB, 64 bites rendszerek esetén 4 GB. Ha a szoftver túllépi ezt az értéket, hibaablak jelenik meg a monitoron.

Az ilyen üzenetek legegyszerűbb módja a törlésre kijelölt objektumok törlése a konfigurációban. Ez ritkán segít, de kiküszöböli a felesleges tétovázást. Ezenkívül ezeknek a műveleteknek a kockázata minimális, mivel nem igényel beavatkozást a Windows belső beállításaiba. Ha az eltávolítás nem segít, akkor más módszerekkel kell küzdenie.

A 32 bites rendszerek másik megoldása a 64 bites verzióra váltás, vagy több memória lefoglalása az alkalmazások számára. Az első lehetőség sokkal helyesebb, de néha különböző okok miatt lehetetlen. Ekkor csak az alábbi műveleti algoritmussal van lehetőség, de ezt nagyon óvatosan kell használni - jelentős problémák adódhatnak a teljes rendszer teljesítményével.

Ez az algoritmus nagyon egyszerű:

  1. Nyissa meg a Windows parancssort. Használja a Start menüt vagy a Windows +R billentyűkombinációt, és írja be a „cmd” parancsot;
  2. A megjelenő ablakban írja be a „bcdedit /set growthuserva 3200” parancsot (például a korlátot 3,2 GB-ra növeljük). Érdemes óvatosan és fokozatosan növelni a limitet;
  3. Miután megerősítette a művelet sikeres végrehajtását a Parancssor ablakban, indítsa újra a számítógépet, és próbálja meg újra a hibához vezető lépéseket. Ha a probléma nem szűnik meg, és az 1C továbbra is összeomlik, újra növelheti a korlátot;
  4. A művelet sikeres, hiba nélküli befejezése után az 1C-ben állítsa vissza az alapértelmezett Windows-korlátozásokat a „bcdedit /deletevalue growthuserva” paranccsal. Ez egy szükséges lépés, hogy az operációs rendszer ne rontsa a teljesítményét az 1C és más alkalmazások érdekében.

Ez a megoldás lehetővé teszi olyan művelet végrehajtását, amelyet az 1C „Nem elegendő memória” hiba miatt nem lehet végrehajtani. Csak sürgős esetekben használható, amikor a műveletet azonnal el kell végezni. Más körülmények között jobb, ha megpróbálja futtatni az 1C-t 64 bites platformon, és ott megismételni a műveletet.

Sokkal komolyabban kell venni azt az üzenetet, hogy nincs elég memória a szerveren frissítés vagy nagyszabású művelet közben. A probléma a különféle szoftverek által elindított folyamatok idő előtti befejezése lehet, ami a „rétegződést” és a virtuális memóriában való felhalmozódást eredményezi. Az ilyen hiba második forrása a különféle programok intenzív munkája memóriafoglalással és -felszabadítással. Különféle szoftverek léteznek ezeknek a problémáknak a megoldására, de a gyakorlat azt mutatja, hogy kapcsolatszakadásokat és 1C összeomlásokat okoz.


Az ehhez hasonló hibák elgondolkodtatnak, hogy az 1C szerver elég erős-e. A kapacitás növelése a vállalat számára előnyös, de egy ilyen hiba más módon is kijátszható, amely nem igényel készpénzinjekciót.

Természetesen nem szabad állandóan használni őket, de egy nap segíthetnek sürgősen erőforrás-igényes munkák elvégzésében, ha szükséges. Azok a népszerű módszerek, amelyek segíthetnek megoldani a szerver elégtelen memóriájával kapcsolatos hibát:

  • Az 1C munkafolyamatok újraindítása, ami a felhasznált memória csökkenéséhez vezet. Ez az opció csak tapasztalt rendszergazdák számára alkalmas, akik ismerik az 1C szerver adminisztrációs konzolját;
  • A technológiai napló segítségével keresse meg azt a táblázatot, amely betöltésekor frissítés vagy egyéb művelet során a „Nincs elég memória” hibaüzenetet kap. Ha hiba jelenik meg a „config” táblával végzett munka során, akkor ellenőrizze a konfigurációt a „Konfiguráció logikai integritásának ellenőrzése” jelzővel. Ezt a funkciót a konfigurátor „Konfiguráció” menüjében találja meg.
  • Egy másik gyakori 1C hiba akkor fordul elő, ha nincs elég hely a szerver merevlemezén. Az ideiglenes táblák sok helyet foglalnak el, és ha nincs elég hely, a rendszergazda a „Nincs elég szabad memória a művelet végrehajtásához” hibát látja. Ebben az esetben nehéz pontos tanácsot adni, mivel a szerver vagy klaszter kialakítása a különböző verziókban jelentősen eltérhet. Az ilyen esetekben segítő standard megoldások között megtalálható a szerver újraindítása, a szabad terület növelése, a lekérdezések optimalizálása, a verzió frissítése.


    A nagy számú felhasználóval rendelkező vállalatoknál gyakran előfordul a „Nem elegendő szabad memória az 1C: Enterprise 8.3 szerveren” hiba. Nagy probléma és ennek előfeltétele a szükséges teljesítmény elégtelen elemzése. Ezért az 1C megvalósítása során fordítson nagy figyelmet a megfelelő szerverteljesítményre, hogy a jövőben ne kelljen a teljesítményt a stabilitás rovására módosítania.

    Ez a hiba meglehetősen jellemző az 1C 8.3-ra, sok felhasználó találkozik vele.

    Okai

    Valójában jó néhány oka lehet annak, hogy az „1C elfogyott a memória” hibaüzenet megjelenhet. Nagyon gyakran ez a hiba akkor fordul elő, ha az 1C Enterprise konfigurációt nem megfelelően frissítik. Nem kevésbé ritkán egy nagy adatbázis betöltése vagy egy nagyon nagy fájl feldolgozási kísérlete okoz hibát.

    Mivel ezeknél a műveleteknél a hiba oka a címmemória hiánya, ezt nem lehet megoldani az 1C program telepítésére szolgáló berendezés frissítésével.

    A helyzet az, hogy az operációs rendszer korlátozott mennyiségű címezhető memóriához ad hozzáférést a szoftvernek, jellemzően harminckét bites operációs rendszerek esetén 2 gigabájt, hatvannégy bites operációs rendszerek esetén 4 gigabájt.

    Kérdése van, vagy tanácsadó segítségére van szüksége?

    Hogyan lehet növelni a címmemória mennyiségét?

    Nem nehéz bővíteni az 1C program számára elérhető címmemóriát. Ehhez meg kell hívnia a parancssort. Ez többféleképpen is megtehető, amelyek közül a legegyszerűbb, ha jobb gombbal kattintson a „Start” menü ikonjára - „Parancssor”
    A megjelenő ablakban a következőket kell beírni:

    ahol a számérték a kívánt memóriamennyiség, és nyomja meg az „Enter” billentyűt. Ezt követően újra kell indítania a számítógépet. Ezt követően megpróbálhatja megismételni a sikertelen műveletet. Ha a hiba továbbra is fennáll, javasoljuk, hogy forduljon szakemberhez.
    Programozóink szívesen adnak tanácsot és segítenek Önnek.

    Ugyanez a helyzet fordulhat elő nagyméretű jelentés generálása, végrehajtása során, végrehajtáskor, nagy információs bázis betöltésekor stb. Vegye figyelembe, hogy ez akkor fordul elő, amikor bizonyos nagyszabású műveleteket hajt végre, amelyek bizonyos mennyiségű számítógépes erőforrást igényelnek. Ezenkívül normál módban az 1C program viszonylag normálisan működik.

    Tippek, mint például a lemez tisztítása, amelyre a program telepítve van, futtatása a programban, használata a kijelöléssel Infobázis táblázatok tömörítése , nagy valószínűséggel nem adják meg a kívánt eredményt, bár ezeket is érdemes kipróbálni.

    Az 1C program működéséhez bizonyos követelmények vonatkoznak a számítógép paramétereire, és ha jellemzőik nem felelnek meg a telepített programnak, akkor problémák merülhetnek fel lassulás és az ilyen típusú hiba megjelenése formájában.

    Miután több RAM-ot adtunk a számítógépünkhöz, a hiba ismét megjelenik. Ebben az esetben az ok abban rejlik, hogy az operációs rendszer korlátozott címmemóriát foglal le a szoftver számára:

    • a 32 bites operációs rendszerekben alapértelmezés szerint 2 GB van lefoglalva a különböző programok számára és ugyanennyi az operációs rendszer számára,
    • 64 bites operációs rendszerekben - a memória kapacitása már 4 GB.

    Amikor az 1C-vel dolgozik és műveletet hajt végre, használhatja Feladatkezelő figyeli a processzor betöltési folyamatát és a szabad memória mennyiségét. Esetünkben a frissítés során ez a szám közelítette a nullát, és ekkor jelentkezett a „Nincs elég memória” hiba. Dob Feladatkezelő gombok megnyomásával lehetséges Ctrl+Alt+Delés nyissa meg a lapot Teljesítmény, figyelje ezeket a mutatókat.

    Így növelnünk kell az alkalmazások számára lefoglalt címmemória méretét (beleértve az 1C-t is). Ezt kétféleképpen lehet megtenni: 32 bites rendszerről 64 bites rendszerre váltani, vagy növelni a lefoglalt címmemória alapértelmezett mennyiségét. Az első lehetőség helyesebb, de bizonyos okok miatt előfordulhat, hogy nem lehetséges, ezért nézzük meg a második lehetőséget a probléma megoldására.

    A „Memória megtelt” hiba az 1C 8.3-ban és 8.2-ben 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 munkaigényes feldolgozást végez: például egy 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 van a különféle programoknak és ugyanennyi az operációs rendszernek. A 64 bites operációs rendszerben 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 váltani, vagy megnövelni a kezdetben lefoglalt címmemória mennyiségét.

    Természetesen az első módszer jobb és előnyösebb, de ha jelenleg vagy egyáltalán nem tudja használni, akkor használhatja a másodikat.
    Kezdő nap, 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.

    Megjelenik Ön előtt a programok keresése. 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

    Ebben az esetben 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 az alkalmazások számára történő memória lefoglalásakor az operációs rendszer kevesebb memóriával rendelkezik. Ez veszélyeztetheti a Windows stabilitását.

    A címmemória alapértelmezett értékére való visszaállításához használhatja a következő parancsot, amely szintén a parancssorba kerül:

    bcdedit /deletevalue gainuserva

    Kérjük, vegye figyelembe, hogy az 1C-ben gyakori „Memória megtelt” hiba 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ít, akkor növelnie kell a Windows operációs rendszer bitessé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 kiküszöbölésének módja.

    A munkafolyamatok memóriakapacitása az 1C ügynökkiszolgálón végzett munka során nem végtelen. Amikor a maximális terhelésen van, 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 beszéljünk az ilyen típusú üzenetek okairól – hogy 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 ez egy másik kérdés - körülbelül harminc felhasználó, több ezer elsődleges dokumentum. Itt az SQL-t külön szerverre kell áthelyezni, és a terminálkiszolgáló önmagában nem tud megbirkózni.

    Memóriahiány a szükségtelen információkhoz

    A tipikus konfigurációk megpróbálják szó szerint leírni a fejlesztők által elképzelhető összes folyamatot, és megpróbálnak létrehozni egy univerzális könyvelési eszközt, az 1C:Enterprise nevet. Ezért egy adott felhasználó további poggyászt kap metaadat-objektumok, további SQL-táblák és fel nem használt részletek formájában. Mindezen felesleges dolgok folyamatos regisztrációja és újraindexelése a programregiszterekben 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 folyamatokhoz, és bevezetik a saját „mankóikat”, amelyek megnövelik a kijelölt feladatok elvégzéséhez szükséges idő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 adminisztrátorok a legújabb trükkökről beszélgetve viccesen azt mondják, hogy valószínűleg csak a tadzsikok dolgoznak ugyanabban a közösségi hálózatban (Dzhamshut és Ravshan).

    Tehát mi a teendő az 1C szerverrel?

    Mivel a probléma okai eltérőek lehetnek, a helyzet megoldásának különböző módjai is vannak:

    A szerverszolgáltatás újraindítása

    A leggyorsabb és legegyszerűbb megoldás a szerverszolgáltatás újraindítása. A Microsoft Windows parancssorából (cmd): a leállításhoz futtassa a parancsot - net stop "1C:Enterprise 8.3 (vagy az Ön verziója) Server Agent", és az indításhoz - net start "1C:Enterprise 8.3 (a verziójától függően) Szerver ügynök". Ez a megoldás nem oldja meg teljesen a problémát - leggyakrabban a hiba megismétlődik. Ismétléseinek gyakorisága az ügyfelek számától és a munkafolyamatok 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 az összes 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 folyamatot adnak hozzá.

    Újraindítási időköz. Röviddel az előző befejezése előtt egy új rphost.exe folyamat indul el. - A régi kapcsolatai átkerülnek rá. Megengedett memóriaméret - ha ezt az értéket túllépi, egy második visszaszámláló indul el.

    Intervallum a határérték 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 csatlakozások hozzá fognak kapcsolódni. A régi pedig inaktívnak van jelölve. Le 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 ezt a paramétert „0”-ra állítja, akkor az inaktív folyamatok nem fejeződnek be automatikusan.

    FONTOS. Ezt a beállítást az jellemzi, hogy csak a hibás jelentést elindító klienst választja le az adatbázisról. A többit pedig simán áthelyezik új kapcsolatokra (a bázisuk 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 munkafolyamatok memóriamérete az összes folyamathoz tartozó memória teljes mennyisége. Bájtban mérve. Ha rossz értéket állít be (nem megfelelő a normál működéshez), mindenki a „Nincs elég szabad memória az 1c szerveren” hibaüzenetet kapja.

    Biztonságos memóriafelhasználás hívásonként – szabályozza a memóriafelhasználást a szerver hívása közben (byte-ban). Ha egy hívás a megadott számnál többet használ, akkor a fürtön belül fejeződik be. Nem indul újra. És egy munkamenet elvesztése nem lesz hatással a többi ügyfélre.

    Memória mennyisége a folyamatokhoz, ameddig a szervert a rendszer produktívnak tekinti – ha ezt az értéket eléri, a fürtkiszolgáló leállítja a kapcsolatok fogadását. Az információs bázisok száma folyamatonként – folyamatonként elkülöníti az információbiztonságot. Az információs bázisok elkülönítése után (az „1” érték megadásával) általában megoldódnak a problémák.

    Kapcsolatok száma folyamatonként – az alapértelmezett érték „128”. Ha az aktuális adatbázist nagyon nagy terhelés terheli a háttérfeladatokbó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ásai kissé megváltoznak:

    Hibatűrési szint – azon kiszolgálók számát mutatja, amelyek meghibásodása esetén nem okozzák az ügyfelek vészleállítását. Ebben az esetben a biztonsági mentési szolgáltatások automatikusan elindulnak a szükséges mennyiségben.

    Terhelésmegosztás mód – két lehetséges opció van. Ha a „Teljesítmény prioritása” beállítást választja, akkor a szerver memóriája többet fog igénybe venni a teljesítmény növelése érdekében. Ha a „Memory priority” lehetőséget választja, az 1C fürt memóriát takarít meg.

    Adatbázis eszköz

    Az adatbázis kezeléséhez MS SQL DBMS-t kell használnia.

    A konfiguráció ellenőrzése

    Valószínűleg a hiba oka a konfigurációban szereplő helytelen információkban rejlik. Az ellenőrzéshez futtassa 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 (jelölőnégyzet) beállítását - „logikai integritás”. Ha bármilyen hibát észlel, 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 kiküszöbölésének lehetséges módjait. Az egyik módszer biztosan megoldja a problémát.