我正在使用webdriver.io運行我的測試,而下面的錯誤。經過分析,我意識到我需要增加內存空間。但不知道如何與webdriver.io做到這一點。在節點中,我知道它使用node --max_old_space_size=2048
完成。webdriver.io加工出來的記憶 - 如何增加類似的內存空間大小到節點--max_old_space_size = 2048
如何做同樣與webdriver.io?
<--- Last few GCs --->
9251010 ms: Mark-sweep 1352.8 (1458.1) -> 1352.7 (1458.1) MB, 2938.1/0 ms [allocation failure] [GC in old space requested].
9253943 ms: Mark-sweep 1352.7 (1458.1) -> 1352.8 (1458.1) MB, 2932.4/0 ms [allocation failure] [GC in old space requested].
9256877 ms: Mark-sweep 1352.8 (1458.1) -> 1352.1 (1457.1) MB, 2934.5/0 ms [last resort gc].
9259812 ms: Mark-sweep 1352.1 (1457.1) -> 1298.1 (1458.1) MB, 2935.1/0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x3faa6f6e3ac1 <JS Object>
1: DefineObjectProperty [native v8natives.js:~464] [pc=0x3524a7536435] (this=0x39f056913eb9 <JS Global Object>,K=0x1ebe9c167ff1 <an Object with map 0x107d9d0fff21>,W=0x3cc73ab4c6d9 <String[7]: strings>,H=0x1ebe9c164fb9 <a PropertyDescriptor with map 0x1ae8ebfa37a1>,Z=0x3faa6f604231 <true>)
2: DefineOwnProperty [native v8natives.js:~633] [pc=0x3524a6c8a597] (this=0x39f056913eb9 <JS Globa...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
雅阿,問題不相關到webdriver.io。閱讀完文檔後,我意識到我可以在'wdio.conf.js'中使用'execArgv:[' - max_old_space_size = 5120']'爲節點js進程分配更多的內存。這幫助我增加了內存空間。但真正的原因是在函數調用中改變對象。是的,我確實閱讀了巨大的數據,導致了對象的大尺寸,然後出現了內存不足的問題。在我更改我的代碼以不改變並簡單地返回期望對象之後,總體上它更加穩定。 – joy
啊很酷的傢伙很好2知道:)。事情是大多數人在電腦中使用16GB RAM,或者他們使用vps/root服務器與node.js結合使用 - 如果您的舊電腦的內存不足,這是一個非常大的問題。^^但是嘗試將所有內容都塊化替代。 – t33n