如何理解节点js进程中的日志崩溃内存不足
How to understands logs when nodejs process crashes out of memory
我的节点服务器崩溃并显示以下日志。
<--- 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].
我了解 Mark-sweep 是一种 GC 算法。之后我们如何解释这些数字“1379.9 (1434.3) -> 1379.0 (1434.3) MB,1486.7 / 0.0 ms”?
这些是在 GC 标记-清除结束时报告的指标(通过,标记为删除,然后清除标记的项目)。这两个数字是总对象大小和总内存大小的开始和结束。
所以一开始你的总对象大小是1379.9,你的总内存大小是1434.4 MB。
最后,您的总对象大小为 1379.0,总内存大小为 1434.3 MB。因此释放了 0.9 MB。
我不是 100% 确定时间,但我相信第一个是花费的总外部时间(这似乎是在某些 "scopes" 中花费的总时间)
我的节点服务器崩溃并显示以下日志。
<--- 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].
我了解 Mark-sweep 是一种 GC 算法。之后我们如何解释这些数字“1379.9 (1434.3) -> 1379.0 (1434.3) MB,1486.7 / 0.0 ms”?
这些是在 GC 标记-清除结束时报告的指标(通过,标记为删除,然后清除标记的项目)。这两个数字是总对象大小和总内存大小的开始和结束。
所以一开始你的总对象大小是1379.9,你的总内存大小是1434.4 MB。 最后,您的总对象大小为 1379.0,总内存大小为 1434.3 MB。因此释放了 0.9 MB。
我不是 100% 确定时间,但我相信第一个是花费的总外部时间(这似乎是在某些 "scopes" 中花费的总时间)