Gemeinsam genutzter Speicher · Speicherspitzen · Funktionszulassungslisten · Symptombaum und sechsstufiges Runbook
OpenClaw auf Docker besteht oft den ersten Rauchtest: Die Antwort des Kanals lautet: openclaw doctor sieht gut aus.Das beweist nur, dass die Steuerebene und der Modellpfad einigermaßen fehlerfrei sind.Sobald Sie Page-Drive-Fähigkeiten, Screenshots oder Headless-Chromium aktivieren, verlagert sich die Arbeitslast auf einen Browser-Rendering-Stack mit Burst-Speicher und starker Nutzung von Shared Memory.Auf einem VPS ist der Fehlermodus selten eine höfliche Protokollzeile: Sie sehen zeitweise leere Seiten, zufällige Tab-Abstürze oder plötzliche OOM-Exits, die fälschlicherweise als langsame Modelle oder Anti-Bot-Seiten interpretiert werden.Dieses Playbook bietet Ihnen eine Symptom-zu-Parameter-Matrix für shm_size und mem_limit sowie ein sechsstufiges Runbook, das Änderungen halbierbar hält.Kombinieren Sie es mit dem Exit 137 VPS-Primer und der Compose Production Baseline, damit Netzwerk, WASM-Aufwärmphase und Browserspitzen nicht debuggt werdenals ein verworrener Vorfall.
Viele Teams validieren OpenClaw auf einem VPS, indem sie nachweisen, dass Nachrichten fließen und der Arzt grün ist.Das ist notwendig, aber nicht ausreichend für Browser-Kenntnisse.Headless Chromium erstellt große anonyme Zuordnungen und synthetische Puffer;Wenn diese mit dem Docker-Standardwert 64 MB /dev/shm oder einer aggressiven Cgroup-Speicherbeschränkung kollidieren, ist das Symptom häufig leere Benutzeroberfläche, Tab-Abstürze oder Screenshot-Timeouts und nicht ein sofortiger Exit 137. Der Vorfall wird dann fehlgeleitet, um Modelllatenz, Website-Anti-Bot-Regeln oder Kanalwiederholungsversuche durchzuführen.Betriebsingenieure verschwenden Stunden damit, Modell-Timeouts zu optimieren, wenn die eigentliche Einschränkung im gemeinsam genutzten Speicher und im RSS-Spitzenwert des Renderer-Stacks liegt.
Einzelseitiger Erfolg wird mit Auslastungstests verwechselt: Das Laden einer Marketing-Homepage ist nicht mit der gleichen Belastung verbunden wie eine mehrstufige Anmeldung, lange Bildlauferfassungen oder gleichzeitige Tabs;Der Produktionsverkehr wird ohne Vorwarnung den Speicher- und SHM-Druck in die Höhe treiben.
Kopplung zwischen /dev/shm und Host-Speicher wird ignoriert: Chromium bevorzugt große Shared-Memory-Segmente;RSS in Docker-Statistiken kann bescheiden aussehen, während dmesg bereits Cgroup-Drosselungs- oder Oom-Kill-Ereignisse anzeigt.
Umfassende Copy-Paste-Funktionen: Das Hinzufügen von SYS_ADMIN zur Umgehung von Sandbox-Reibungen erweitert den Explosionsradius von Browser-Bugs bis hin zu Host-Kompromittierungen;Gutachter benötigen einen schriftlichen Drohungs-Kompromiss.
In Kombination mit Reverse-Proxy- und AllowOrigins-Vorfällen: UI-Fehler ohne Loopback-Steuerung und WebSocket-Drops gehören zum Compose Networking Runbook;Triangulieren Sie keine unabhängigen Fehlerbäume in einem Änderungsfenster.
Stapelung schwerer Browser-Jobs auf derselben Instanz wie gesprächige Kanäle: Batch-Automatisierungen über Nacht können ein Profil beschädigen, das während der Pings tagsüber stabil aussah, es sei denn, Sie planen Spitzenwerte und Isolationsprofile.
Kodieren Sie die fünf Steuern als explizit verbotene Muster und obligatorische Einweichtests.Drucken Sie sie auf der ersten Seite Ihres Änderungsantrags aus, damit niemand stillschweigend seine Berechtigungen erweitert, um einen Demo-Pass durchzuführen.Im nächsten Abschnitt werden Symptome mit Parametern indiziert, sodass Bereitschaftstechniker Blutungen stoppen können, ohne jedes Upstream-Dokument erneut lesen zu müssen.
Die folgende Tabelle ist nach dem indexiert, was Sie zuerst beobachten, nicht nach Parameternamen, da Vorfälle als für den Benutzer sichtbare Schmerzen auftreten.Erfassen Sie nach jeder Änderung Spitzenwerte der Docker-Statistiken und einen kurzen Gateway-Protokollabschnitt.Ändern Sie nur einen Knopf pro Experiment, damit Rollbacks ehrlich bleiben.
| Symptom | Zuerst prüfen | Ursache und Vorgehen |
|---|---|---|
| Zeitweise weißer Bildschirm, Aw Snap, Tab stürzt ab | shm_size, /dev/shm Nutzung | Der Standardwert von 64 MB ist oft zu klein;Versuchen Sie es mit 512m, dann mit 1g und begrenzen Sie gleichzeitige Seiten. |
| Der Prozess verschwindet, Exit 137 | mem_limit, Host-Swap, oom_kill-Zähler | Browser-Peak plus Node-Resident-Satz überschritten cgroup;Erhöhen Sie die Grenzwerte schrittweise oder teilen Sie Instanzen auf.siehe Exit 137 Primer. |
| Sofortige Berechtigungs- oder Gerätefehler | cap_add, Geräte, Seccomp-Profil | Vergleich mit offiziellen Compose-Snippets;Fügen Sie die minimale Oberfläche hinzu, nicht eine Tüte privilegierter Kappen. |
| CPU blockiert, aber die Navigation bleibt stehen | Software-Rendering-Flags, unendliche Navigationswiederholungsversuche in den Fähigkeiten | Begrenzte Wiederholungsversuche und Zeitüberschreitungen;Stellen Sie sicher, dass der Skill nicht in einer Schleife im laufenden Betrieb neu geladen wird. |
| Nur bestimmte Websites scheitern | TLS-Fingerprinting, HTTP/2, regionaler Egress | Wenn Signale auf das Netzwerk und nicht auf die cgroup verweisen, wechseln Sie zu Egress-Tests, anstatt SHM-Optimierungen zu stapeln. |
Stabilität für Fähigkeiten der Browserklasse besteht hauptsächlich aus drei überprüfbaren Fakten: Spitzenspeicher, gemeinsam genutzter Speicher und eine Fähigkeitszulassungsliste;alles andere ist sekundäres Tuning.
Community-Beiträge und offizielle Docker-Anleitungen empfehlen im Jahr 2026 immer noch explizite shm_size für Stacks, die Browser-Automatisierung einbetten – üblicherweise im Bereich 512 MB bis 1 GB – gepaart mit einer klaren Speicherobergrenze.Sie müssen sich keine magischen Lieferantenzahlen merken, aber Sie benötigen den Satz Standardwerte reichen nicht in Ihrem Teamvokabular sowie eine separate Kapazitätszeile für Batch-Fenster über Nacht, wenn Fähigkeiten Dashboards durchsuchen oder Beweispakete erfassen.
Die folgende Sequenz entspricht der Produktionsbasislinie erstellen: beobachten, eine Variable ändern, Test durchführen, archivieren.Fügen Sie Ausgaben in das Ticket ein, anstatt Änderungen im Chat zu erläutern.
Bildreferenz anheften: Notieren Sie sich den Digest oder das unveränderliche Tag, bevor Sie die Browserparameter berühren.Vermeiden Sie es, die Produktion beim Debuggen von Spitzenwerten auf :latest abzudriften.
Grundlinie erfassen: dieselbe Fertigkeit dreimal ausführen;Zeichnen Sie Docker-Statistiken-Spitzen, df -h /dev/shm im Container und Gateway-Protokollfenster auf.
Nur shm ändern: shm_size auf 512m oder 1g erhöhen, alles andere unverändert lassen, denselben Skill dreimal wiederholen.
Dann passen Sie mem_limit an: Wenn Exit 137 oder oom_kill bestehen bleibt, erhöhen Sie mem_limit in etwa 25-Prozent-Schritten und überprüfen Sie, ob Swap auf dem Host deaktiviert ist.
Funktionen minimieren: Wenn offizielle Snippets bestimmte cap_add- oder Geräteknoten erfordern, dokumentieren Sie den genauen Fehler, den Sie beheben.Vermeiden Sie SYS_ADMIN, es sei denn, das Bedrohungsmodell ist explizit.
Archiv-Rollback-Punkte: Übertragen Sie das übergebene Compose-Fragment und den Digest.Rollback als Copy-Paste-compose down && compose up -d-Block behalten.
services:
openclaw:
image: ghcr.io/openclaw/openclaw:<pin-a-digest-not-latest>
shm_size: "1g"
mem_limit: "4g"
# keep control plane on 127.0.0.1; terminate TLS at the reverse proxy
# align json-file rotation and healthcheck start_period with the baseline article
Tipp: Wenn Sie einen zweiten, schwereren Browser-Stack auf demselben Host benötigen, lesen Sie die Multi-Instanz-Isolation für Ports und Volumes, bevor Sie dieses Runbook klonen.
Dieser Abschnitt listet nur Fakten auf, auf die Sie in der Konfiguration oder Überwachung verweisen können, nicht die Stimmung, dass sich der Browser instabil anfühlt.Behandeln Sie die Zahlen als Startbänder und validieren Sie sie mit Ihren eigenen Fähigkeiten.
shm_size als gleichwertig mit mem_limit;Beginnen Sie bei 512 MB, validieren Sie lange Aufnahmen und ziehen Sie dann eine Stufe von 1 GB in Betracht – üblich in der Community-Dokumentation von 2026.healthcheck start_period zu kurz ist, wird Compose während des Aufwärmens neu gestartet und sieht aus wie zufällige Flockenbildung.Richten Sie Felder am Baseline-Artikel aus.Warnung: Rotieren Sie Reverse-Proxy-Zertifikate, Modellschlüssel und Browser-Ressourcenobergrenzen nicht in derselben Änderung.Dreifache Bewegungen machen den Rollback nicht halbierbar.TLS-Pfade finden Sie im Reverse-Proxy-Leitfaden.
Sobald der Datenverkehr tagsüber stabil ist, stellen Sie die organisatorische Frage: Darf dieselbe Instanz über Nacht große Browser-Batches ausführen?Das Antworten nach einem Ausfall ist teuer.
| Muster | Wann es passt | Haupt-Risiko |
|---|---|---|
| Einzelne gemischte Instanz | Persönliche Piloten und leichte Fähigkeiten ohne lange Aufnahmen | Peak-Stacking ist unsichtbar;Ein OOM nimmt Kanäle und Tools gemeinsam auf. |
| Spezielles Browserprofil | Zwei Compose-Stapel auf einer Maschine mit geteilten Volumina | Erfordert strenge Isolationschecklisten;siehe Artikel über mehrere Instanzen. |
| Dedizierter 24/7-Knoten | Teamproduktion erfordert vorhersehbares SLA | Höhere Kosten, aber Sie erhalten Abnahmekapazität und einen überprüfbaren Änderungsverlauf. |
Ad-hoc-VPS-Tuning ist früh flexibel, doch für die Produktion benötigt OpenClaw drei Artefakte, die informellen Stacks oft fehlen: reservierte Kapazität, angeheftete Bilder und Ticketänderungen.Wenn Fähigkeiten mit iOS-Builds, Desktop-Übergaben und ständig aktiven Agenten koexistieren müssen, ist die Verlagerung von Browser-Spitzenwerten auf einen vorhersehbaren 24/7-Fußabdruck besser als ein endloser Parameter-Wechsel.Für Teams, die dedizierte, regional stabile Mac-Kapazität mit betrieblicher Klarheit benötigen, ist die VpsMesh Mac Mini Cloud-Miete in der Regel die bessere Lösung: mehr Spielraum für Browser-Bursts und Festplatten, abgestimmt auf die Mac Mesh-Zusammenarbeit.Siehe Preise und Hilfe.
Renderer im Chromium-Stil stützen sich für große Puffer auf gemeinsam genutzten Speicher.Wenn /dev/shm klein ist, können zeitweise weiße Bildschirme oder Tab-Abstürze auftreten, während die CPU noch in Ordnung ist.Erhöhen Sie zuerst shm_size auf 512 m oder 1 g und überprüfen Sie dann die Speicherzeilen im Exit 137 Primer.
Nicht immer.Beginnen Sie mit offiziellen Snippets zum Verfassen mit den geringsten Berechtigungen.Wenn Sie privilegierte Obergrenzen hinzufügen müssen, dokumentieren Sie den Bedrohungskompromiss.Referenzen zur Kanalhärtung finden Sie in der Checkliste zur Produktionshärtung.
Gemeinsam genutzte Gateways verstärken den Ressourcenkonflikt, wenn die Browser-Spitzenwerte ansteigen.Fügen Sie SHM- und Speicherzeilen zur Teamressourcentabelle hinzu und überprüfen Sie sie gemeinsam mit dem Runbook Multi-API-Schlüsselfächer.