Heap snapshot on OOM due to buffers/external memory/large arrays rather than V8 heap
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 5/5
- 預估耗時
- 一週以上
- 新手友好度
- 35/100
- Issue 類型
- 功能
- 描述清晰度
- 需要釐清
- 活躍度
- 冷清
- 技術堆疊
- javascript, node.js
研究方向
該 issue 未指明來源檔案或測試。先檢視 Node 對 --heap-snapshot-on-oom 的處理以及 process.memoryUsage(),接著判定 V8 heap、Buffer、外部記憶體和 RSS 限制是如何表示的;若要視為完成,必須針對所提議的 --max-memory 或 --max-rss 行為決定設計、完成實作並提供測試涵蓋率。
由索引模型根據 Issue 內容生成。
描述
What is the problem this feature will solve?
I have a server that's been OOMing when it hits the Docker memory limit I set of 2GB. I had set --max-old-space-size=432 --max-semi-space-size=16 --heap-snapshot-on-oom but Node isn't logging OOM or creating a heap snapshot so I think the issue is too much buffer allocation.
It sure sucks that there's no surefire way to get diagnostic information if too many buffers get allocated.
What is the feature you are proposing to solve the problem?
I'm not 100% sure if this is possible but a --max-memory or --max-rss flag that would set a limit on the resident set size would be really great. If V8 heap, buffer, or C++ external object allocation would push the resident set size over this limit, Node would make a heap snapshot if --heap-snapshot-on-oom is set, and then exit.
What alternatives have you considered?
I will have to try polling process.memoryUsage() and taking my own heap dump if the memory is getting too large, but I think sudden buffer allocation is OOMing after only a few seconds so I'm not sure it will even work.
- 主要語言
- JavaScript
- 星號
- 122k
- 分支
- 39.9k
- 平均合併
- 3 天 21 小時
- 30 天內合併 PR
- 242
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
nodejs/node 的其他 Issue
-
doc install windows
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
-
Docs: --watch-path *is* supported on linux可能已有人在做 @motokaneyuki 今天認領。 未關閉
難度 1/5 1 小時以內 新手友好度 82/100
nodejs/node#66743 · 1 個 reaction ·
維護者通常 1 天內回覆
-
node:internal/inspector/network_http: `TypeError: Missing dataLength` in event when response uses `setEncoding()`可能已有人在做 @lazerg 於 9 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
[Docs] `process.loadEnvFile()` does not document behaviour when variables already exist可能已有人在做 @Sepandard 於 19 天前認領。 未關閉doc
難度 1/5 1 小時以內 新手友好度 90/100
維護者通常 1 天內回覆
-
Stream.prototype.forEach will block in first promise in queue before read more chunk可能已有人在做 @mmustafasenoglu 於 20 天前認領。 未關閉doc
難度 2/5 1-3 小時 新手友好度 65/100
維護者通常 1 天內回覆
相似的 Issue
-
documentation
難度 2/5 1-3 小時 新手友好度 74/100
andromarces/agent-loops#886 ·
維護者通常 1 天內回覆
-
bug effort:low model:light plan planner:gpt-6-1-sol tests
難度 2/5 1-3 小時 新手友好度 72/100
維護者通常 1 天內回覆
-
B: visual
難度 2/5 1-3 小時 新手友好度 65/100
FreeTubeApp/FreeTube#9929 ·
維護者通常 1 天內回覆
-
status: in triage type: bug
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 68/100
supabase/supabase-js#2768 ·
維護者通常 1 天內回覆