Javascript 如何找到在节点中递归运行的函数?
我是新的节点和角度发展。最近,我面临这个问题——“致命错误:无效的标记压缩接近堆限制分配失败-JavaScript堆内存不足”。 有人能告诉我如何找到导致此问题的占用大部分内存的函数吗?我无法找出根本原因 我正在使用节点服务器(node.js):10.15.0Javascript 如何找到在节点中递归运行的函数?,javascript,node.js,angular,typescript,heap,Javascript,Node.js,Angular,Typescript,Heap,我是新的节点和角度发展。最近,我面临这个问题——“致命错误:无效的标记压缩接近堆限制分配失败-JavaScript堆内存不足”。 有人能告诉我如何找到导致此问题的占用大部分内存的函数吗?我无法找出根本原因 我正在使用节点服务器(node.js):10.15.0 Typescript:3.2.2有一些解决方案 最容易的 你必须: // install npm install -g clinic // run your process and see result clinic doctor --
Typescript:3.2.2有一些解决方案 最容易的 你必须:
// install
npm install -g clinic
// run your process and see result
clinic doctor -- node my-process.js
// you can also use bubbleprof for network latency or flame for bottlenecks
当您停止流程或流程结束时,doctor将使用该信息创建一个HTML报告
使用标准查找问题的另一种方法:
另一种方法是:
// run your process with inspect:
node --inspect=0.0.0.0:9229 my-process.js
// then run chrome dev tools and connect it to <IP>:9229
go to this url on your Chrome: chrome://inspect/#devices
// then you will able to profile the cpu and take snapshots of memory usage
//使用inspect运行流程:
节点--inspect=0.0.0.0:9229 my-process.js
//然后运行chrome开发工具并将其连接到:9229
在您的Chrome上转到此url:chrome://inspect/#devices
//然后,您将能够分析cpu并拍摄内存使用情况的快照
PS在chrome开发工具中,您将看到以下内容,以便打开:
有一些解决方案 最容易的 你必须:
// install
npm install -g clinic
// run your process and see result
clinic doctor -- node my-process.js
// you can also use bubbleprof for network latency or flame for bottlenecks
当您停止流程或流程结束时,doctor将使用该信息创建一个HTML报告
使用标准查找问题的另一种方法:
另一种方法是:
// run your process with inspect:
node --inspect=0.0.0.0:9229 my-process.js
// then run chrome dev tools and connect it to <IP>:9229
go to this url on your Chrome: chrome://inspect/#devices
// then you will able to profile the cpu and take snapshots of memory usage
//使用inspect运行流程:
节点--inspect=0.0.0.0:9229 my-process.js
//然后运行chrome开发工具并将其连接到:9229
在您的Chrome上转到此url:chrome://inspect/#devices
//然后,您将能够分析cpu并拍摄内存使用情况的快照
PS在chrome开发工具中,您将看到以下内容,以便打开:
试试这个解决方案:如果这是一个角度编译的函数/方法,那么确定它会有点困难,例如,您可以禁用所有角度组件并逐个使用,直到再次遇到错误,然后你知道哪一个有问题试试这个解决方案:如果这是一个角度编译的函数/方法,那么确定它会有点困难,例如,你可以禁用所有的角度组件并逐个使用,直到你再次遇到错误,然后你知道哪一个有问题