1C-Server schreibt, dass nicht genügend Speicher vorhanden ist. Sie haben eine Frage oder benötigen Hilfe von einem Berater?

Es treten Fehler auf. Wir werden uns eine davon ansehen, die dem Thema „Unzureichend freier Speicher auf dem 1C:Enterprise-Server“ gewidmet ist.

Methode zur Behebung des Fehlers „Auf dem 1C:Enterprise-Server ist nicht genügend freier Speicher vorhanden.“

Die Speicherkapazität von Arbeitsprozessen beim Arbeiten auf dem 1C-Agent-Server ist nicht unendlich. Bei maximaler Auslastung sieht der Benutzer eine mit seiner Neuheit erfreuliche Meldung: „Auf dem 1C:Enterprise-Server ist nicht genügend freier Speicher vorhanden.“


Lassen Sie uns zunächst über die Gründe für diese Art von Nachrichten sprechen – warum nicht genügend Speicher vorhanden ist. Es kann mehrere davon geben:

Unzureichende Eisenkraft

Wenn bis zu fünf Personen im System arbeiten, reicht ein Acht-Gigabyte-Rechner mit zwei Schrauben (auf einer – SERVER, auf der zweiten – SQL) und zusätzlich verbauten Chips. Aber es ist eine andere Sache – etwa dreißig Benutzer, Tausende von Primärdokumenten. Hier muss SQL auf einen separaten Server verlagert werden, was ein Terminalserver allein nicht bewältigen kann.

Mangel an Speicher für unnötige Informationen

Typische Konfigurationen versuchen, buchstäblich alle Prozesse zu beschreiben, die sich ein Entwickler vorstellen kann, und versuchen, ein universelles Buchhaltungstool namens 1C:Enterprise zu erstellen. Daher erhält ein bestimmter Benutzer zusätzlichen Ballast in Form einer Fülle von Metadatenobjekten, zusätzlichen SQL-Tabellen und ungenutzten Details. Die ständige Registrierung und Neuindizierung all dieser unnötigen Dinge in den Programmregistern nimmt viel Zeit und Platz in Anspruch.

Codierungsfehler

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

Programmfehler

Unter anderem, und das ist oft fast der Hauptgrund – das 1C-Programm weist unglaublich viele interne Fehler auf. Einige davon werden in späteren Versionen behoben. Diesen Fehlern widmen sich zahlreiche Foren, in denen Administratoren bei der Diskussion der neuesten Tricks scherzhaft sagen, dass wahrscheinlich nur Tadschiken (Dzhamshut und Ravshan) im selben sozialen Netzwerk arbeiten.

Was also tun mit dem 1C-Server?

Da die Ursachen eines Problems unterschiedlich sein können, gibt es auch unterschiedliche Lösungsansätze:

Neustart des Serverdienstes

Die schnellste und einfachste Lösung besteht darin, den Serverdienst neu zu starten. Über die Microsoft Windows-Befehlszeile (cmd): Führen Sie zum Stoppen den Befehl „net stop „1C:Enterprise 8.3 (oder Ihre Version) Server Agent“ aus und zum Starten – net start „1C:Enterprise 8.3 (je nach Version)“ Server-Agent". Diese Lösung löst das Problem nicht vollständig – meistens wiederholt sich der Fehler. Die Häufigkeit seiner Wiederholungen hängt von der Anzahl der Kunden und der Anzahl der Arbeitsprozesse ab.

WICHTIG. Um einen Neustart durchführen 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 RAM beanspruchen. Dieses Problem wird gelöst, indem ihre Anzahl in den Clustereinstellungen erhöht wird. Sie fügen ungefähr einen Prozess pro fünfzehn bis dreißig Benutzer hinzu.

Neustartintervall. Kurz bevor der vorherige beendet ist, startet ein neuer rphost.exe-Prozess. - Verbindungen vom alten werden dorthin übertragen. Zulässige Speichergröße – wenn dieser Wert überschritten wird, wird ein zweiter Countdown-Timer gestartet.

Intervall für die Überschreitung des Grenzvolumens – wenn der Timer diesen Wert überschreitet, wird ein neuer Prozess gestartet. Und die Anschlüsse vom alten werden daran befestigt. Und der alte wiederum ist als inaktiv markiert. Aus Prozesse stoppen nach – Nachdem der Wert dieses Parameters überschritten wurde, nachdem der Workflow als inaktiv markiert wurde, wird er vom Betriebssystem beendet. Wenn Sie diesen Parameter gleich „0“ angeben, werden nicht alle inaktiven Prozesse automatisch beendet.

WICHTIG. Diese Einstellung zeichnet sich dadurch aus, dass nur der Client von der Datenbank getrennt wird, der den falschen Bericht gestartet hat. Und der Rest wird reibungslos auf neue Verbindungen umgestellt (ohne Unterbrechung von ihrer Basis).

Anzahl der Worker-Prozesse

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

Max. Die Speichergröße von Worker-Prozessen ist die Gesamtspeichermenge für alle Prozesse zusammen. Gemessen in Bytes. Wenn Sie den falschen Wert einstellen (unzureichend für den normalen Betrieb), erhalten alle die Fehlermeldung „Es ist nicht genügend freier Speicher auf dem 1c-Server vorhanden.“

Sicherer Speicherverbrauch pro Anruf – steuert den Speicherverbrauch während eines Anrufs durch den Server (in Bytes). Wenn ein Anruf mehr als die angegebene Anzahl verbraucht, wird er innerhalb des Clusters abgeschlossen. Es wird nicht neu gestartet. Und der Verlust einer Sitzung hat keine Auswirkungen auf andere Clients.

Die Speichermenge für Prozesse, bis zu der der Server vom System als produktiv angesehen wird. Wenn dieser Wert erreicht ist, akzeptiert der Clusterserver keine Verbindungen mehr. Anzahl der Informationsbasen pro Prozess – isoliert die Informationssicherheit nach Prozess. Nach der Isolierung von Informationsbasen (durch Eingabe des Wertes „1“) werden Probleme in der Regel gelöst.

Anzahl der Verbindungen pro Prozess – Standardwert ist „128“. Wenn die aktuelle Datenbank durch Hintergrundjobs sehr stark ausgelastet ist, können Sie diese Zahl beispielsweise auf „25“ reduzieren. Mit diesen Einstellungen ändern sich die Clustereinstellungen geringfügig:

Fehlertoleranzstufe – zeigt die Anzahl der Server an, die bei einem Ausfall nicht zu einer Notabschaltung der Clients führen. In diesem Fall werden Backup-Dienste automatisch in der erforderlichen Menge gestartet.

Lastverteilungsmodus – bietet zwei mögliche Optionen. Wenn Sie „Priorität auf Leistung“ einstellen, wird der Serverspeicher stärker beansprucht, um die Leistung zu steigern. Wenn Sie „Speicherpriorität“ auswählen, spart der 1C-Cluster Speicher.

Datenbanktool

Um mit der Datenbank arbeiten zu können, müssen Sie MS SQL DBMS verwenden.

Überprüfung der Konfiguration

Möglicherweise liegt die Fehlerursache in falschen Informationen 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 (Kontrollkästchen) überprüfen – „logische Integrität“. Wenn eine Unrichtigkeit festgestellt wird, wird dies in der Nachricht angezeigt. Und die Fehler werden beseitigt.

Wir haben uns die Gründe für den Mangel an freiem Speicher auf dem 1C-Server angesehen und mögliche Möglichkeiten, dies zu beheben. Eine der Methoden wird das Problem sicherlich lösen.

Die gleiche Situation kann beim Erstellen eines großen Berichts, beim Ausführen, beim Laden einer großen Informationsbasis usw. auftreten. Beachten Sie, dass dies bei der Durchführung umfangreicher Vorgänge geschieht, die eine bestimmte Menge an Computerressourcen erfordern. Darüber hinaus funktioniert das 1C-Programm im Normalmodus relativ normal.

Tipps wie das Bereinigen der Festplatte, auf der das Programm installiert ist, das Ausführen im Programm und die Verwendung durch Auswahl Komprimieren von Infobase-Tabellen , werden höchstwahrscheinlich nicht das gewünschte Ergebnis liefern, obwohl sie auch einen Versuch wert sind.

Damit das 1C-Programm funktioniert, werden bestimmte Anforderungen an die Computerparameter gestellt. Wenn deren Eigenschaften nicht mit denen des installierten Programms übereinstimmen, können Probleme in Form von Verlangsamungen und dem Auftreten dieser Art von Fehlern auftreten.

Nachdem wir unserem Computer mehr RAM hinzugefügt haben, tritt der Fehler erneut auf. Der Grund liegt in diesem Fall in der begrenzten Zuweisung von Adressspeicher durch das Betriebssystem für Software:

  • In 32-Bit-Betriebssystemen sind standardmäßig 2 GB für verschiedene Programme und die gleiche Menge für das Betriebssystem reserviert.
  • in 64-Bit-Betriebssystemen beträgt die Speicherkapazität bereits 4 GB.

Wenn Sie mit 1C arbeiten und einen Vorgang ausführen, können Sie es verwenden Task-ManagerÜberwachen Sie den Prozessorauslastungsprozess und die freie Speichermenge. In unserem Fall ging dieser Wert während des Updates gegen Null und in diesem Moment trat der Fehler „Nicht genügend Speicher“ auf. Start Task-Manager durch Tastendruck möglich Strg+Alt+Entf und Öffnen der Registerkarte Leistung, überwachen Sie diese Indikatoren.

Daher müssen wir die Größe des zugewiesenen Adressspeichers für Anwendungen (einschließlich 1C) erhöhen. Dies kann auf zwei Arten erfolgen: Wechseln Sie von einem 32-Bit-System zu einem 64-Bit-System oder erhöhen Sie die standardmäßig zugewiesene Adressspeichermenge. Die erste Option ist richtiger, aber aus bestimmten Gründen ist sie möglicherweise nicht möglich. Betrachten wir daher die zweite Option zur Lösung des Problems.

Dieser Fehler ist recht typisch für 1C 8.3; er tritt bei vielen Benutzern auf.

Ursachen

Tatsächlich gibt es eine ganze Reihe von Gründen, warum der Fehler „1C nicht genügend Speicher“ auftreten kann. Dieser Fehler tritt sehr häufig auf, wenn die 1C Enterprise-Konfiguration falsch aktualisiert wird. Nicht weniger selten führt das Laden einer großen Datenbank oder der Versuch, eine sehr große Datei zu verarbeiten, zu einem Fehler.

Da die Fehlerursache bei diesen Aktionen im fehlenden Adressspeicher liegt, ist eine Behebung durch ein Upgrade der Geräte, auf denen das 1C-Programm installiert ist, nicht möglich.

Tatsache ist, dass das Betriebssystem der Software Zugriff auf eine begrenzte Menge an adressierbarem Speicher gewährt, typischerweise 2 Gigabyte für 32-Bit-Betriebssysteme und 4 Gigabyte für 64-Bit-Betriebssysteme.

Sie haben eine Frage oder benötigen Hilfe von einem Berater?

Wie kann der Adressspeicher vergrößert werden?

Es ist nicht schwierig, den für das 1C-Programm verfügbaren Adressspeicher zu erweitern. Dazu müssen Sie die Befehlszeile aufrufen. Dies kann auf verschiedene Arten erfolgen. Die einfachste davon besteht darin, mit der rechten Maustaste auf das Menüsymbol „Start“ zu klicken – „Eingabeaufforderung“.
Im erscheinenden Fenster müssen Sie Folgendes eingeben:

wobei der numerische Wert die gewünschte Speichermenge ist und drücken Sie die „Enter“-Taste. Danach müssen Sie Ihren Computer neu starten. Anschließend können Sie versuchen, den fehlgeschlagenen Vorgang zu wiederholen. Sollte der Fehler weiterhin bestehen, empfehlen wir die Kontaktaufnahme mit einem Fachmann.
Unsere Programmierer beraten und helfen Ihnen gerne weiter.

Der „Out of Memory“-Fehler in 1C 8.3 und 8.2 ist gar nicht so selten. Es ist auch im Konfigurator (z. B. beim Vergleichen von Konfigurationen) sowie im 1C:Enterprise-Modus bei arbeitsintensiven Verarbeitungen zu finden, beispielsweise 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 für verschiedene Programme und die gleiche Menge für das Betriebssystem vorhanden sind. Im 64-Bit-Betriebssystem beträgt der für Anwendungen zugewiesene Speicher bereits 4 Gigabyte.

Aus dem oben Gesagten 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: Wechseln Sie von einem 32-Bit-System zu einem 64-Bit-System oder erhöhen Sie die ursprünglich zugewiesene Menge an Adressspeicher.

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

Eine Suche nach Programmen wird vor Ihnen angezeigt. Wählen Sie „cmd“ aus.

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

Geben Sie im sich öffnenden Fenster den folgenden Befehl ein und drücken Sie außerdem die Eingabetaste:

bcdedit /set raiseuserva 3200

In diesem Fall erhöhen Sie den Adressspeicher auf 3200 Megabyte.

Nachdem Sie erfolgreich waren, wird dringend empfohlen, die vorherige Größe des Adressspeichers wiederherzustellen. Diese Maßnahme ist vorübergehend, da das Betriebssystem weniger Speicher zur Verfügung hat, wenn Anwendungen Speicher zugewiesen wird. Dies kann die Stabilität von Windows beeinträchtigen.

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

bcdedit /deletevalue raiseuserva

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