2
我在一臺服務器上運行Node.js
,只有512MB
的RAM
。問題是當我運行一個腳本時,它會因內存不足而死亡。由於內存不足導致Node.js死亡
默認情況下,Node.js
內存限制爲512MB
。所以我認爲使用--max-old-space-size
是沒用的。
如下/var/log/syslog
內容:
Oct 7 09:24:42 ubuntu-user kernel: [72604.230204] Out of memory: Kill process 6422 (node) score 774 or sacrifice child
Oct 7 09:24:42 ubuntu-user kernel: [72604.230351] Killed process 6422 (node) total-vm:1575132kB, anon-rss:396268kB, file-rss:0kB
有沒有辦法擺脫出來的內存沒有升級內存? (如使用永久存儲器作爲附加RAM)
更新: 這是一個使用節點模塊請求和cheerio的刮板。當它運行時,它將打開數百或數千個網頁(但不是並行)
不知道什麼樣的數據正在使用這麼多的內存以及如何處理這些數據,這很難說清楚。像redis這樣的工具可以幫助你將經常使用的數據緩存在nodejs之外。 –
您如何減少內存消耗的選項完全取決於您在應用程序中消耗的內存最多的內容。既然你不與我們分享這些信息,我們很難知道選擇是什麼。您可能需要先了解使用最多內存的內容。 – jfriend00