Javascript堆内存不足

时间:2017-09-01 12:17:35

标签: javascript angular

使用npm start作为我的角度页时,我收到以下错误。

C:\TPO\Client\Angular>ng serve
Your global Angular CLI version (1.3.2) is greater than your local
version (1.0.4). The local Angular CLI version is used.

To disable this warning use "ng set --global warnings.versionMismatch=false".
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200 **
10% building modules 4/4 modules 0 active
<--- Last few GCs --->

  118169 ms: Mark-sweep 1348.4 (1404.3) -> 1348.1 (1404.3) MB, 1338.9 / 0.0 ms [allocation failure] [GC in old space requested].
  119374 ms: Mark-sweep 1348.1 (1404.3) -> 1348.1 (1404.3) MB, 1204.7 / 0.0 ms [allocation failure] [GC in old space requested].
  121097 ms: Mark-sweep 1348.1 (1404.3) -> 1362.7 (1403.3) MB, 1723.2 / 0.0 ms [last resort gc].
  122416 ms: Mark-sweep 1362.7 (1403.3) -> 1377.4 (1403.3) MB, 1317.9 / 0.0 ms [last resort gc].


<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0000034B7C13FA99 <JS Object>
    1: set [native collection.js:~252] [pc=00000174AF1BC2E1] (this=000003AD36FBC469 <a Map with map 0000002CF18113B1>,r=000002D7A3418CD9 <String[12]: 32741,580445>,z=1)
    2: /* anonymous */ [C:\TPO\Client\Angular\node_modules\typescript\lib\typescript.js:~2177] [pc=00000174ADC9EBD0] (this=000001D0EA536CE1 <JS Global Object>,value=1,key=000002D7A3418CD9 <String[12]: 32741,580445>)
    3: arg...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

1 个答案:

答案 0 :(得分:4)

除非您的应用程序出现问题,否则解决问题的最简单方法(如this answer所示)是增加node.js的堆大小

在Windows上,可以通过导航到

来完成
C:\Users\your_user_name\%AppData%\Roaming\npm

然后在那里修改ng.cmd

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe" --max_old_space_size=4096 "%~dp0\node_modules\@angular\cli\bin\ng" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node --max_old_space_size=4096 "%~dp0\node_modules\@angular\cli\bin\ng" %*
)

--max_old_space_size=4096将节点V8引擎的堆大小设置为相应的MB值(在我们的例子中,这是4096,但可能你可以根据工作站的功能对其进行微调),而不是默认值1400 MB