最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何理解日志时的NodeJS进程崩溃的内存不足

运维笔记admin9浏览0评论

如何理解日志时的NodeJS进程崩溃的内存不足

如何理解日志时的NodeJS进程崩溃的内存不足

我的节点服务器与以下日志崩溃。

<--- Last few GCs --->

  504158 ms: Mark-sweep 1379.9 (1434.3) -> 1379.0 (1434.3) MB, 1486.7 / 0.0 ms [allocation failure] [GC in old space requested].
  505610 ms: Mark-sweep 1379.0 (1434.3) -> 1379.0 (1434.3) MB, 1452.0 / 0.0 ms [allocation failure] [GC in old space requested].
  507067 ms: Mark-sweep 1379.0 (1434.3) -> 1379.0 (1406.3) MB, 1456.1 / 0.0 ms [last resort gc].
  508505 ms: Mark-sweep 1379.0 (1406.3) -> 1379.0 (1406.3) MB, 1438.3 / 0.0 ms [last resort gc].

我明白马克扫是GC算法。我们如何解释这些数字 “1379.9(1434.3) - > 1379.0(1434.3)MB,1486.7 / 0.0毫秒” 之后呢?

回答如下:

这些报告的指标在GC标记扫描结束后(通过,标志去除,再扫标记的项目)。的两个数字是起始和对象的总尺寸的端部和总存储器大小。

因此,在开始你的总目标大小为1379.9和你的内存总容量为1434.4 MB。在年底你的总目标大小为1379.0和你的内存总容量为1434.3 MB。所以,0.9 MB被释放。

我不是100%肯定有关计时,但我相信首先是花费的总时间外(这似乎是总时间在一定的“范围”花)

这里有你想要的源代码:https://github/nodejs/node/blob/de732725d8ae232d7b6d56927ea8bef471d5bf1d/deps/v8/src/heap/gc-tracer#L481

对于外界所花费的时间:https://github/nodejs/node/blob/de732725d8ae232d7b6d56927ea8bef471d5bf1d/deps/v8/src/heap/gc-tracer.h#L368

发布评论

评论列表(0)

  1. 暂无评论