Heim / Mobiles Betriebssystem / Meldung „Kein Speicher in Zeile 1“. Speichermangel für zusätzliche Informationen

Meldung „Kein Speicher in Zeile 1“. Speichermangel für zusätzliche Informationen

Der Fehler "Nicht genug Speicher" in 1C 8.3 und 8.2 ist nicht so selten. Es ist auch im Konfigurator (z. B. beim Vergleichen von Konfigurationen) sowie im 1C:Enterprise-Modus zu finden, wenn zeitaufwändige Verarbeitungen durchgeführt werden: z. B. beim Schreiben einer großen Base64-Datei.

Dieser Fehler kann nicht nur im 1C-Programm, sondern auch in anderen Programmen des Windows-Betriebssystems auftreten.

Die Sache ist, dass in 32-Bit-Betriebssystemen standardmäßig 2 Gigabyte pro verschiedene Programme und das gleiche für das Betriebssystem. In 64-Bit-Betriebssystemen beträgt die für Anwendungen zugewiesene Speichermenge bereits 4 Gigabyte.

Aus dem Obigen folgt, dass Sie die Größe des zugewiesenen Adressspeichers für Anwendungen erhöhen müssen, bei denen es sich um das 1C-Programm handelt. Dies kann auf zwei Arten erfolgen: Um von einem 32-Bit-System zu einem 64-Bit-System zu wechseln, oder um die anfänglich zugewiesene Menge an Adressspeicher zu erhöhen.

Natürlich ist die erste Methode besser und vorzuziehen, aber wenn in dieser Moment, oder Sie können es überhaupt nicht verwenden, dann können Sie das zweite verwenden.
Starten Sie den Tag, gehen Sie zur Befehlszeile des Betriebssystems. Gehen Sie dazu in das Startmenü und geben Sie „cmd“ in die Suchleiste ein.

Eine Programmsuche wird vor Ihnen angezeigt. Wählen Sie den Namen „cmd“ aus.

Sie können die Eingabeaufforderung auch mit der Tastenkombination Windows + R öffnen.

Geben Sie in dem sich öffnenden Fenster den folgenden Befehl ein und drücken Sie auch "Enter":

bcdedit /set raiseuserva 3200

BEI dieser Fall Sie erhöhen den Adressspeicher auf 3200 Megabyte.

Nachdem Sie erfolgreich waren, wird dringend empfohlen, die vorherige Größe des Adressspeichers wiederherzustellen. Diese Maßnahme ist temporär, da das Betriebssystem bei der Zuweisung von Speicher für Anwendungen weniger davon hat. Aus diesem Grund kann die Stabilität von Windows beeinträchtigt werden.

Um den Adressspeicher wieder auf den Standardwert zurückzusetzen, können Sie den folgenden Befehl verwenden, der auch in eingetragen wird Befehlszeile:

bcdedit /deletevalue erhöhenuserva

Bitte beachten Sie, dass bei dem häufig auftretenden Fehler „Nicht genügend Speicher“ in 1C auch das Löschen markierter Objekte helfen kann. Vielleicht hat das Programm viele davon angesammelt und es ist schwierig für das Programm, solche Datenmengen zu verarbeiten. Wenn diese Methode nicht geholfen hat, sollten Sie die Bittiefe des Windows-Betriebssystems erhöhen.

Es treten Fehler auf. Wir werden einen von ihnen betrachten, der dem Thema „Nicht genügend freier Speicher auf dem 1C: Enterprise-Server“ gewidmet ist.

So beheben Sie den Fehler „Nicht genügend freier Speicher auf dem 1C:Enterprise-Server“.

Die Speichermenge von Arbeitsprozessen beim Arbeiten auf einem 1C-Agentenserver ist nicht unendlich. Bei maximaler Auslastung sieht der Benutzer eine Meldung, die mit seiner Neuheit zufrieden ist: "Auf dem 1C: Enterprise-Server ist nicht genügend freier Speicher vorhanden."


Zunächst zu den Ursachen solcher Meldungen - warum nicht genügend Speicher vorhanden ist. Es kann mehrere davon geben:

Unzureichende Eisenleistung

Wenn bis zu fünf Personen im System arbeiten, reicht ein Acht-Gigabyte-Computer mit zwei Schrauben (auf einem - SERVER, auf dem zweiten - SQL) und zusätzlich installierten Chips aus. Aber noch etwas - etwa dreißig Benutzer, Tausende von Primärdokumenten. Hier muss das SQL verschoben werden separater Server, und ein Terminalserver kommt nicht mehr zurecht.

Speichermangel für zusätzliche Informationen

Typische Konfigurationen versuchen, buchstäblich alle Prozesse zu beschreiben, die sich ein Entwickler vorstellen kann, wenn er versucht, ein universelles Buchhaltungstool namens 1C:Enterprise zu erstellen. Daher erhält ein bestimmter Benutzer zusätzliches Gepäck in Form eines Abgrunds von Metadatenobjekten, zusätzlichen SQL-Tabellen und ungenutzten Details. Die permanente Registrierung und Neuindizierung all dessen, was unnötig ist, in den Registern des Programms nimmt viel Zeit und viel Platz in Anspruch.

Codierungsfehler

Eine Serverüberlastung tritt auch auf, wenn Programmierer einige Prozesse (manchmal) nicht verstehen und ihre eigenen „Krücken“ einführen, die die Zeit für die Erledigung von Aufgaben (und auch die Anzahl der Arbeitsprozesse) erhöhen.

Programmfehler

Unter anderem, und das ist oft fast der Hauptgrund, hat das 1C-Programm unglaublich viele interne Fehler. Einige von ihnen werden in späteren Versionen behoben. Eine große Anzahl von Foren widmet sich diesen Fehlern, in denen Administratoren bei der Diskussion der nächsten Tricks scherzhaft sagen, dass wahrscheinlich nur Tadschiken (Dzhamshut und Ravshan) in einem es arbeiten.

Also, was mit dem Server 1C zu tun

Da die Ursachen des Problems unterschiedlich sein können, gibt es auch verschiedene Möglichkeiten, aus der Situation herauszukommen:

Neustart des Serverdienstes

Das schnellste und auf einfache Weise Die Lösung besteht darin, den Serverdienst neu zu starten. Von der Befehlszeile Microsoft Windows(cmd): Zum Stoppen wird der Befehl ausgeführt - net stop "1C:Enterprise 8.3 (oder Ihre Version) Server Agent" und zum Starten - net start "1C:Enterprise 8.3 (entsprechend Ihrer Version) Server Agent". Eine solche Lösung beseitigt das Problem nicht vollständig - meistens wiederholt sich der Fehler. Die Häufigkeit seiner Wiederholungen hängt von der Anzahl der Clients und der Anzahl der Worker-Prozesse ab.

WICHTIG. Um neu starten zu können, müssen Sie über die entsprechenden Rechte verfügen.

Automatischer Neustart und Cluster-Einstellungen

Manchmal kann sogar ein laufender Workflow fast den gesamten Arbeitsspeicher beanspruchen. Dieses Problem wird gelöst, indem deren Anzahl in den Clustereinstellungen erhöht wird. Etwa ein Prozess wird für jeweils fünfzehn bis dreißig Benutzer hinzugefügt.

Neustartintervall. Kurz vor Abschluss des vorherigen wird ein neuer Prozess, rphost.exe, gestartet. - Verbindungen vom alten werden dorthin übertragen. Zulässige Speichergröße - wird dieser Wert überschritten, wird ein zweiter Countdown-Timer gestartet.

Intervall für die Überschreitung des Volumenlimits – wenn der Timer diesen Wert überschreitet, wird ein neuer Prozess gestartet. Und Verbindungen vom alten werden daran gebunden. Und die alte wiederum wird als inaktiv markiert. Aus Prozesse beenden nach – nachdem der Wert dieses Parameters überschritten wurde, nachdem der Workflow als inaktiv markiert wurde, wird er vom Betriebssystem beendet. Wenn dieser Parameter auf "0" gesetzt ist, werden alle inaktiven Prozesse nicht automatisch beendet.

WICHTIG. Diese Einstellung ist insofern typisch, als sie nur den Client von der Datenbank trennt, der den falschen Bericht gestartet hat. Und der Rest - wird reibungslos auf neue Verbindungen verschoben (ohne Unterbrechung von ihrer Basis).

Anzahl der Worker-Prozesse

Wenn rphost.exe mit Hintergrundjobs überlastet ist und keine neuen Prozesse erstellt werden, überprüfen Sie die Einstellungen:

max. Arbeitsspeicher ist der Gesamtspeicher für alle Prozesse zusammen. Gemessen in Byte. Wenn Sie den falschen Wert einstellen (nicht ausreichend für den normalen Betrieb), erhalten alle die Fehlermeldung „Nicht genügend freier Speicher auf dem 1s-Server“.

Sicherer Speicherverbrauch pro 1 Anruf - steuert den Speicherverbrauch während eines Anrufs durch den Server (in Bytes). Wenn ein Anruf mehr als angegeben verwendet, wird er innerhalb des Clusters beendet. Es wird nicht neu gestartet. Und der Verlust der Sitzung wirkt sich nicht auf andere Clients aus.

Die Menge an Arbeitsspeicher für Prozesse, bis zu der der Server vom System als produktiv angesehen wird - wenn dieser Wert erreicht ist, nimmt der Cluster-Server keine Verbindungen mehr an. Anzahl der Infobases pro Prozess – isoliert Informationsbasen nach Prozessen. Nach dem Isolieren der Infobases (bei Eingabe des Wertes - "1") werden Probleme normalerweise gelöst.

Anzahl der Verbindungen pro Prozess – der Standardwert ist „128“. Wenn ein aktuelle Basis sich durch eine sehr große Belastung durch Hintergrundjobs unterscheidet, dann können Sie diese Zahl zB auf "25" reduzieren. Mit diesen Einstellungen ändert sich auch das Cluster-Setup ein wenig:

Fehlertoleranzstufe - zeigt die Anzahl der Server an, bei deren Ausfall es zu keinem Absturz von Clients kommt. Gleichzeitig werden Backup-Dienste automatisch in der erforderlichen Anzahl gestartet.

Lastverteilungsmodus – hat zwei mögliche Optionen. Wenn Sie "Leistungspriorität" festlegen, wird der Serverspeicher mehr verbraucht, um die Leistung zu steigern. Bei Auswahl von "Priorität nach Speicher" spart der 1C-Cluster Speicher.

Basis-Tool

Um mit der Datenbank zu arbeiten, ist es notwendig, MS SQL DBMS-Tools zu verwenden.

Konfigurationsprüfung

Möglicherweise liegt der Grund für den Fehler in den fehlerhaften Angaben in der Konfiguration. Um dies zu überprüfen, müssen Sie den Befehl „Konfiguration prüfen“ ausführen. (Nicht zu verwechseln mit Testen!). Vor der Ausführung müssen Sie die Einstellung des Kontrollkästchens (Flag) - "logische Integrität" überprüfen. Wenn ein Fehler gefunden wird, wird dieser in der Nachricht wiedergegeben. Und die Fehler werden entfernt.

Wir haben die Gründe für den Mangel an freiem Speicher auf dem 1C-Server und mögliche Lösungen dafür untersucht. Eine der Methoden wird das Problem sicherlich lösen.

Lassen Sie uns die Optionen zur Behebung des Fehlers „Nicht genügend Speicher“ in 1C 8.3 genauer betrachten.

Methode 1. Erhöhen Sie die Größe des Adressspeichers

Es gibt eine Beschränkung bei der Zuweisung von Adressspeicher für Software Betriebssystem: für ein 32-Bit-System - 2 GB; für ein 64-Bit-System - 4 GB.

Schritt 1

Um den Adressspeicher zu vergrößern, müssen Sie Folgendes tun: Führen Sie die Befehlszeile mit Administratorrechten aus:

  • Start - Ausführen - Geben Sie an der Eingabeaufforderung CMD ein und drücken Sie die Eingabetaste:
  • Oder klicken Sie mit der rechten Maustaste auf die Schaltfläche Start und wählen Sie Eingabeaufforderung (Admin).

Schritt 2

Als nächstes gelangen wir in das Befehlsdialogfeld, wo wir den Befehl eingeben müssen, um den Adressspeicher zu erhöhen. Geben Sie in der Befehlszeile BCDEdit /set raiseuserva xxxx ein, wobei wir anstelle von xxxx die Größe des virtuellen Adressraums in Megabyte angeben. Zum Beispiel mit 32 Bit-Systeme 3072 MB empfohlen:

Schritt 3

Wir starten den Computer neu. Lassen Sie uns Aktionen im 1C 8.3-Programm ausführen, die zuvor nicht erhalten wurden.

Schritt 4

Nach Durchführung der Operationen ist es besser, den Adressspeicher auf den Standardwert zurückzusetzen. Geben Sie dazu in der Kommandozeile BCDEdit /deletevalue raiseuserva ein:

Wir starten den Computer neu.

Methode 2. Zum Löschen markierte Dokumente und Verzeichnisse löschen

In der 1C 8.3-Plattform wurde dies mit Hilfe von möglich Routineaufgabe.

Durch das Löschen markierter Objekte können Sie:

  1. Erhöhen Sie die Systemleistung;
  2. Reduzieren Sie die Größe der Datenbank.

Schritt 1. Erstellen Sie eine Kopie der Datenbank

Öffnen Sie den Punkt: Abschnitt Verwaltung - Programmeinstellungen - Support und Wartung - Sicherung und Erholung:

Richten Sie einen Zeitplan für das automatische Kopieren der Datenbank ein und klicken Sie auf Fertig stellen:

Erfahren Sie mehr darüber Sicherung 1С 8.3 sehen Sie in unserem Video-Tutorial:

Schritt 2. Entfernen Sie die markierten Objekte

Öffnen Sie den Punkt Markierte Objekte automatisch nach Zeitplan löschen: Abschnitt Verwaltung – Anwendungseinstellungen – Support und Wartung – Geplante Vorgänge:

Erstellen eines Zeitplans automatische Löschung markierte Objekte in 1C 8.3 zu einem geeigneten Zeitpunkt. Zum Beispiel zum Zeitpunkt der Mittagspause und klicken Sie auf Fertig:

Als Ergebnis der ergriffenen Maßnahmen wird die Größe der Datenbank verringert, die Systemleistung wird verbessert und der 1C-Fehler „Nicht genügend Arbeitsspeicher“ sollte nicht auftreten.


Bewerten Sie diesen Artikel:

Es ist unmöglich, alle Situationen aufzulisten, in denen der 1C-Fehler „Nicht genügend Speicher“ (Abb. 1) auftritt. Versuchen wir, die wichtigsten zu identifizieren:

  • Beim Aktualisieren der Konfiguration;
  • Wenn die Anwendung startet;
  • Beim Erstellen eines Berichts;
  • Bei großen Berechnungen (Buchung des Belegs "Kostenberechnung", "Monatsabschluss" usw.).

In allen Fällen ist der Grund derselbe - Mangel an physikalischer Speicher Computer. Gleichzeitig fügen Sie dem Gerät zusätzliche Streifen hinzu Arbeitsspeicher löst das Problem nicht immer.

Was bestimmt die Menge des verfügbaren Speichers

32-Bit-Betriebssysteme haben ein wesentliches Merkmal: Unabhängig von der Größe des Arbeitsspeichers und der Größe der Auslagerungsdatei weist das Betriebssystem nur 4 GB für den Betrieb einer bestimmten Anwendung zu.

Da die Hälfte des Adressraums virtueller Speicher für die Anforderungen des Systems selbst zugewiesen werden, verbleiben nur 2 GB, damit die Anwendung funktioniert. Wenn ein Programm läuft, muss der Adressraum des virtuellen Speichers in einem zusammenhängenden Block reserviert werden. Wenn dies nicht möglich ist, erscheint ein Fenster (Abb. 1).

So erhöhen Sie den verfügbaren Speicher

Ohne Neuinstallation des Betriebssystems gibt es zwei Möglichkeiten, die Situation zu beheben:


Mit diesen Methoden können Sie den dem Betriebssystem zugewiesenen Adressraum auf 1 GB reduzieren und den Arbeitsspeicher für die Anwendung auf 3 GB erhöhen.

Aufmerksamkeit! Durch manuelles Zuweisen von Speicher können beim Betrieb Probleme auftreten. persönlicher Computer bis hin zum kompletten Herunterfahren des Systems.

Das Entfernen der Zeile aus der Datei boot.ini oder das Ausführen des Befehls mit dem durch 2000 ersetzten Parameter 2900 bringt das System in seinen ursprünglichen Zustand zurück.

Es ist wichtig zu verstehen, dass diese Methoden nur eine vorübergehende Lösung des Problems sind; für seine endgültige Beseitigung ist es notwendig, die Datenbank auf eine 64-Bit-Plattform zu übertragen.

Nicht genügend Arbeitsspeicher beim Generieren eines Berichts

Nicht sehr häufig, aber dieser Fehler tritt auf, wenn Berichte auftreten. In diesem Fall wird die Ausführung der Tabellenkalkulations-Erzeugungsverarbeitung verzögert und endet schließlich mit einem Fenster wie in der ersten Figur.

Bevor Sie in die Betriebssystemeinstellungen gehen und die RAM-Zuweisungsparameter ändern, ist es in diesem Fall besser, die Berichtseinstellungen zu ändern. Ändern Sie das Datum, ändern Sie die Gruppierungen, fügen Sie eine Auswahl hinzu. In den meisten Fällen hilft das.

Wenn der Fehler in einem nicht standardmäßigen Bericht auftritt (z. B. Kontokarte oder Bilanz) und Sie Zugriff auf den Verarbeitungsquellcode haben, überprüfen Sie, ob in der Abfrage temporäre Tabellen generiert werden. In RAM geschrieben und bis zum Ende der Anfrage vorhanden, können sie die Ressourcen eines schwachen Rechners erheblich fressen.

Um solche Situationen zu vermeiden, wird im Allgemeinen dringend empfohlen, temporäre Tabellen in einer Abfrage zu zerstören, sobald sie nicht mehr benötigt werden.

Serverspeicherlecks

In einigen Fällen erhalten Benutzer eine in Abb. 3 gezeigte Nachricht

Reis. 3.

Auf die Gründe für dieses Verhalten des Servers möchte ich gesondert eingehen.

Im Allgemeinen ist der Ausdruck „Speicherleck“ etwas ungenau, es ist besser zu sagen, dass der Speicher geschichtet gespeichert wird. Programme, die Prozesse starten, vergessen diese rechtzeitig zu beenden. Infolgedessen sammeln sie sich im RAM an.

Der zweite Grund ist die Speicherfragmentierung. Wenn während des Betriebs des Servers eine intensive Reservierung und Freigabe von RAM erfolgt, kann es zu einem bestimmten Zeitpunkt zu einer Situation kommen, in der die Menge an freiem Speicher ausreicht, es jedoch unmöglich ist, einen kontinuierlichen Block von Speicheradressen mit ausreichender Größe zu erfassen .

Das zweite Problem kann mit gelöst werden Systemdienstprogramme.

Infolgedessen können sie:

  1. Es gibt Probleme mit der Verbindung, sie bricht ab, das Programm stürzt ab (Abb. 4)

Abb.4

  1. Beim Entladen treten Fehler und Einfrierungen auf Informationsbasis;
  2. Es gibt Sprünge im Speicher, die von 1C-Prozessen belegt sind.

Fehler aktualisieren

Dieses Szenario mit unzureichendem Arbeitsspeicher tritt auf, wenn versucht wird, die Konfiguration auf die neueste Version zu aktualisieren. Es kann mit einer großen Anzahl verbunden sein laufende Anwendungen, und mit Fehlern in der Datenbank.

Die ersten Schritte, die Sie unternehmen müssen, wenn dieses Problem auftritt, sind, die aktualisierte Datenbank im Konfigurator-Modus zu starten und neu zu strukturieren (Menüpunkt Verwaltung->Testen und Beheben), obwohl es besser ist, alle Arbeiten zur Fehlerbeseitigung und Neuinstallation durchzuführen -Indizierung von Tabellen.

Der Fehler "Der Computer verfügt nicht über genügend Arbeitsspeicher" ist auf einen Mangel an RAM sowie auf einen Mangel an virtuellem Speicher zurückzuführen. In dieser Hinsicht sind die wahrscheinlichsten Gründe, die diese Situation verursachen können, wie folgt:

  • Es gibt einen echten Mangel an physischem RAM;
  • Auf dem Computer laufen derzeit viele Prozesse (dies können sowohl Programme als auch Sitzungen in laufenden Anwendungen sein, z. B. Browser-Tabs);
  • Die Festplatte ist fast vollständig belegt - in diesem Fall funktioniert die Auslagerungsdatei nicht normal;
  • Es gibt auch Programme, die ein sogenanntes "Memory Leak" verursachen können - eine Situation, in der eine Anwendung den gesamten verfügbaren Speicherplatz beansprucht, um ihre Aufgaben auszuführen.

Aus diesen Gründen operationssystem gibt den Fehler "Es ist nicht genügend Speicher auf dem Computer vorhanden, um Speicher freizugeben, Programme zu schließen."

Tatsächlich hängt die Lösung dieses Problems von der eigentlichen Ursache ab.

Im Falle eines physischen Mangels an RAM müssen Sie das Volumen natürlich erhöhen, indem Sie RAM-Streifen im Geschäft kaufen. Die meisten Computer verwenden jetzt 8 GB, aber es hängt alles von den Aufgaben ab, für die der Computer gekauft wurde. Wenn Sie auch auf die Unterstützung einer großen Anzahl von Lamellen achten sollten Hauptplatine. Wenn der Computer nicht neu ist und keine Aufrüstung geplant ist, müssen Sie einen solchen Systembetrieb leider in Kauf nehmen.

Wenn der Grund ist Festplatte vollständig belegt ist und nicht genügend Speicherplatz auf dem Computer vorhanden ist, benötigen Sie das Dienstprogramm zur Datenträgerbereinigung, um ihn freizugeben. Das Schöne daran ist, dass Sie keine Dateien löschen können, die vom System verwendet werden und zu dessen Funktionsunfähigkeit führen. Mit anderen Worten, Datenträgerbereinigung Windows-Dienstprogramm hilft Ihnen, temporäre und eine Reihe anderer, in den meisten Fällen nutzloser Dateien sicher zu löschen. Sie können es ausführen, indem Sie mit der rechten Maustaste auf das Laufwerk C: klicken und "Eigenschaften" und dann "Datenträgerbereinigung" auswählen.

Das Dienstprogramm führt eine erste Analyse durch und zeigt, welche Dateien gelöscht werden können. In der Regel handelt es sich hierbei um kein sehr großes Volumen. Wenn Sie auf „Systemdateien bereinigen“ klicken, findet eine weitere Analysephase statt, und die Menge an freigegebenem Speicherplatz wird sicherlich erhöht.

Sie sollten auch überprüfen, ob die Auslagerungsdatei aktiviert ist. Es wird für den Fall verwendet, dass für die Ausführung der Programme nicht genügend Speicherplatz vorhanden ist und mehr benötigt wird, als derzeit physisch verfügbar ist - in diesem Fall wird der Mangel durch freien Speicherplatz auf der Festplatte ausgeglichen. Sie müssen die „Systemsteuerung“ und dann „System“ öffnen.

Nachdem wir geöffnet haben Zusätzliche Optionen Systeme."

Wechseln Sie auf die Registerkarte „Erweitert“.

Wir klicken auf "Ändern".

In diesem Fenster können Sie die Größe der Auslagerungsdatei verwalten. Es wird empfohlen, die Größe automatisch festzulegen.

Für den Fall, dass aufgrund eines anderen Programms oder vieler Prozesse nicht genügend Speicher vorhanden ist, ist es logisch zu verstehen, welche davon. In diesem Fall können Sie den Task-Manager verwenden, indem Sie die Prozesse nach der Spalte "Speicher" im Register "Details" sortieren.

Nachdem Sie die Prozesse in der Liste analysiert haben, können Sie entscheiden, was mit ihnen geschehen soll. Dies kann entweder ein normaler Betrieb (z. B. während eines Updates) oder ein anormaler Vorgang (interner Anwendungsfehler) oder sogar Malware sein. In jedem Fall schadet die Suche nach schädlichen Objekten nicht. Wie dem auch sei, wenn eine bestimmte Anwendung den Fehler verursacht, dass nicht genügend Speicher vorhanden ist, wird empfohlen, den Support dieser Software zu kontaktieren, um negative Auswirkungen zu beseitigen.

Ich wünsche ihnen einen wunderbaren Tag!