共享內存·內存峰值·功能允許列表·症狀樹和六步運行手冊
Docker 上的 OpenClaw 通常會透過第一個冒煙測試:頻道回答, 許多團隊透過證明訊息流和 Doctor 是綠色的來在 VPS 上驗證 OpenClaw。對於瀏覽器等級技能來說,這是必要的,但還不夠。Headless Chromium 創建大型匿名映射和合成緩衝區;當這些與 Docker 預設 64MB /dev/shm 或激進的 cgroup 記憶體上限發生衝突時,症狀通常是空白 UI、選項卡崩潰或螢幕截圖超時,而不是立即退出 137。然後,事件會被錯誤路由到模型延遲、站點反機器人規則或通道重試。當真正的限制是共享記憶體和來自渲染器堆疊的峰值 RSS 時,營運工程師會浪費大量時間來調整模型逾時。 單頁成功被誤認為是負載測試:加載行銷主頁與多步驟登入、長時間滾動捕獲或併發選項卡的壓力不同;生產流量將在沒有警告的情況下使內存和 shm 壓力激增。 忽略 /dev/shm 與主機記憶體之間的耦合:Chromium 偏好大的共享記憶體區段; 複製貼上廣泛功能:新增 將其與反向代理和 allowedOrigins 事件混合使用:非環回控制 UI 錯誤和 WebSocket 丟棄屬於 Compose Network Runbook. 將繁重的瀏覽器作業堆疊在與聊天頻道相同的實例上:夜間批量自動化可能會破壞白天 ping 期間看起來穩定的配置文件,除非您計劃峰值和隔離配置文件。 將五種稅金編碼為明確禁止的模式和強制浸泡測試。將它們列印在變更請求的第一頁上,這樣就沒有人會默默地擴大權限來製作簡報通行證。下一部分將症狀與參數進行索引,以便待命工程師可以止血,而無需重新閱讀每個上游文件。 openclaw doctor 看起來不錯。這只能證明控制平面和模型路徑大致健康。一旦啟用頁面驅動技能、螢幕截圖或無頭 Chromium,工作負載就會轉移到具有突發記憶體和大量使用共享記憶體的瀏覽器渲染堆疊。在VPS上,故障模式很少是禮貌的日誌行:您會看到間歇性空白頁面、隨機選項卡崩潰或突然OOM退出,這些退出被誤讀為緩慢模型或反機器人頁面。此劇本為您提供了 shm_size 和 mem_limit 的症狀到參數矩陣,然後是一個保持更改可二等分的六步運行手冊。將其與 Exit 137 VPS 入門 和
為什麼網關可以健康而瀏覽器堆疊崩潰:五種隱藏稅
docker stats 中的 RSS 看起來很一般,而 dmes SYS_ADMIN來繞過沙箱摩擦,擴大了從瀏覽器錯誤到主機妥協的影響範圍;審核者需要書面的威脅權衡。
下表根據您首先觀察到的內容而不是參數名稱進行索引,因為事件是使用者可見的痛苦。每次更改後,捕獲 docker stats 峰值和簡短的網關日誌切片;每個實驗僅更改一個旋鈕,以便回滾保持誠實。
| 你看到的症狀 | 優先核對 | 常見根因與動作 |
|---|---|---|
| 間歇性白屏、糟糕、選項卡崩潰 | shm_size、/dev/shm 使用率 | 預設 64MB 通常太小;嘗試 512m 然後 1g 並限制並發頁數。 |
| 進程消失,退出137 | mem_limit、主機交換、oom_kill 計數器 | 瀏覽器峰值加Node駐留集超出cgroup;提高步驟或分割實例的限制;請參閱出口 137 入門。 |
| 立即權限或設備錯誤 | cap_add、設備、seccomp 設定文件 | 與官方撰寫片段不同;添加最小的表面,而不是一袋特權帽。 |
| CPU 固定但導航停止 | 軟體渲染標誌、技能中的無限導航重試 | 綁定重試和超時;驗證該技能是否在循環中熱重載。 |
| 只有某些網站失敗 | TLS 指紋辨識、HTTP/2、區域出口 | 如果訊號指向網路而不是 cgroup,則轉向出口測試而不是堆疊 shm 調整。 |
瀏覽器級技能的穩定性主要取決於三個可審核的事實:峰值記憶體、共享記憶體和功能允許清單;其他一切都是二次調整。
2026 年的社群文章和官方 Docker 指南仍然建議對嵌入瀏覽器自動化的堆疊使用明確的 shm_size(通常在 512MB 到 1GB 範圍內),並具有明確的記憶體上限。您不需要記住供應商的神奇數字,但您的團隊詞彙中確實需要短語默認值不夠,再加上一個單獨的容量行項目,用於在技能刮擦儀表板或捕獲證據包時過夜批處理窗口。
下面的順序與撰寫生產基線匹配:觀察、更改一個變數、浸泡測試、存檔。將輸出貼到工單中,而不是在聊天中敘述更改。
固定圖像引用:在觸摸瀏覽器參數之前註意摘要或不可變標記;在調試峰值時避免 :latest 上的生產漂移。
捕捉基線:執行相同的技能三次;記錄容器內的 docker stats 峰值、df -h /dev/shm 以及網關日誌視窗。
僅更改 shm:將 shm_size 提高到 512m 或 1g,保持其他所有內容不變的技能,重新運行相同的技能 3 次。
然後調整 mem_limit:如果 Exit 137 或 oom_kill 仍然存在,則以大約 25% 的幅度提高 mem_limit 並驗證主機上是否禁用了交換。
最小化功能:如果官方程式碼片段需要特定的cap_add或裝置節點,請記錄您修復的確切錯誤;避免 SYS_ADMIN 除非威脅模型是明確的。
歸檔回滾點:提交傳遞的撰寫片段和摘要;將回滾保持為複製貼上 compose down && compose up -d 區塊。
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
提示:如果您需要在同一主機上安裝第二個較重的瀏覽器堆疊,請在克隆此 Runbook 之前閱讀連接埠和磁碟區的多重實例隔離。
本節僅列出您可以在配置或監控中指出的事實,而不是瀏覽器感覺不穩定之類的感覺。將數字視為起始範圍並用您自己的技能進行驗證。
shm_size 視為與 mem_limit 視為與 mem_limit 同等地從 12; 2026 年社區文檔中很常見。healthcheck start_period 預熱, start_period 預熱,Composed將欄位與基線文章對齊。警告:不要在同一更改中輪換反向代理證書、模型密鑰和瀏覽器資源上限;三重移動使回滾不可平分。TLS 路徑位於反向代理指南中。
一旦白天流量穩定,請詢問組織問題:同一實例是否可以在夜間運行大量瀏覽器批次?斷電後應答的成本很高。
| 模式 | 適用情境 | 主要風險 |
|---|---|---|
| 單一混合實例 | 個人飛行員和輕型技能,無需長時間捕捉 | 峰值堆積是不可見的;一次 OOM 將渠道和工具一起關閉。 |
| 專用瀏覽器設定檔 | 一台機器上有兩個具有分割卷的撰寫堆疊 | 需要嚴格的隔離檢查表;請參閱多實例文章。 |
| 專用 24/7 節點 | 團隊生產需要可預測的 SLA | 成本較高,但您可以獲得簽核能力和可審核的變更歷史。 |
Ad-hoc VPS 調整在早期是靈活的,但生產 OpenClaw 需要非正式堆疊通常缺乏的三個工件:保留容量、固定影像和票據變更。當技能必須與 iOS 構建、桌面切換和永遠在線的代理共存時,將瀏覽器峰值移動到可預測的 24/7 足跡勝過無休止的參數打地鼠。對於需要專用、區域穩定的 Mac 容量且操作清晰的團隊來說,VpsMesh Mac Mini 雲端租賃通常更適合:為瀏覽器突發和磁碟提供更輕鬆的空間,與 定價和幫助中心。
Chromium 風格的渲染器依靠共享記憶體來提供大緩衝區。當 /dev/shm 很小時,您會看到間歇性白屏或選項卡崩潰,而 CPU 看起來仍然正常。首先將 shm_size 提高到 512m 或 1g,然後交叉檢查 Exit 137 prime 中的記憶體行。
並非總是如此。從具有最低權限的官方撰寫片段開始。如果必須新增特權上限,請記錄威脅權衡。通道強化參考位於生產強化清單。
當瀏覽器高峰時,共享網關會加劇資源爭用。將 shm 和記憶體行新增至團隊資源表中,並與多重 API 金鑰分區 Runbook 一起查看。