2017-04-10 26 views
1

我想在Nodejs/V8中让GC Process更好一些。NodeJS,PM2,GC,Grafana - 更好的理解

你能提供下列问题的一些信息:

  • 当GC被触发,这是否阻断节点JS的事件循环?

  • GC是在自己的进程中运行还是只是事件循环的子方法?通过Pm2的(群集模式)

  • 在产卵过程中的NodeJS不实例 确实有它自己的过程或者说是 实例之间共享的GC?

  • 进行日志记录我使用Grafana (https://github.com/RuntimeTools/appmetrics-statsd),有人可以 解释差异\有关这些仪表的详细信息:

    gc.size以字节为单位的JavaScript堆的大小。

    gc.used JavaScript堆上使用的内存量,以字节为单位。

Memory usage

  • 是否在某些GC未与相关压力测试释放内存(gc.used)的任何方案?

问题与我目前面临的问题有关。 GC使用的内存正在上升,不会释放任何内存(经典内存泄漏)。问题是只有当我们有很多请求时才会出现。

我最大岁的空间大小的发挥各地以避免PM2重新启动,但它看起来像GC没有释放了,整个应用程序变得非常慢......

任何想法?

回答