美文网首页
v8引擎的垃圾回收

v8引擎的垃圾回收

作者: likely | 来源:发表于2020-03-14 05:13 被阅读0次

v8引擎的垃圾回收机制

如何查看node内存使用情况?

> process.memoryUsage()
{
  rss: 19189760, // 进程驻留内存(堆/栈/代码段)
  heapTotal: 4608000, // v8总内存
  heapUsed: 2342320, // v8已使用内存
  external: 1387045 // v8内置的c++对象占用内存
}

v8的内存分类

  • 堆内存 // 对象、字符串、闭包
    • 新生代内存
    • 老生代内存
  • 栈内存 // 变量
  • 堆外内存 // Buffer

新生代内存清理算法(Scavenge清道夫?)

特性

  • 内存空间平分为两个区域from、to(闲置)
  • 每次GC将存活的对象从from区域复制到to区域

缺点

  • 浪费一半的内存空间

晋升流程

gc-new-upgrade.png

老生代内存清理算法(mark-sweep,mark-compact)

mark-sweep 标记清除(v8主要使用)

特性

  • 标记阶段,只标记或者的对象
  • 清理阶段,删除没有被标记的对象

缺点

  • 内存不连续,存在碎片

mark-compact 标记整理(内存不足/对象晋升时使用)

特性

  • 标记阶段,只标记或者的对象
  • 清理阶段,删除没有被标记的对象,并将活着的对象向一端移动

缺点

内存泄漏排查

node-heapdump

相关文章

  • v8垃圾回收 - 2023-02-18

    V8引擎垃圾回收策略: V8的垃圾回收策略主要是基于分代式垃圾回收机制,其根据对象的存活时间将内存的垃圾回收进行不...

  • V8引擎的垃圾回收机制

    转载:V8引擎的垃圾回收机制

  • V8 内存管理和垃圾回收机制总结

    这篇文章主要介绍 V8 的内存管理和垃圾回收知识。 V8 内存管理及垃圾回收机制浅析 由于 V8 引擎的原因,No...

  • V8 GC机制

    这篇文章主要介绍 V8 的内存管理和垃圾回收知识。 V8 内存管理及垃圾回收机制浅析 由于 V8 引擎的原因,No...

  • js语言性能优化以及相关概念理解

    概要 内存管理 垃圾回收与常见的 GC 算法 V8 引擎的垃圾回收 performance 工具 代码优化示例 内...

  • javaScript 性能优化(学习笔记)

    内容概要 内存管理 垃圾回收和常见的GC算法 V8引擎的垃圾回收 Performance 工具 代码优化实例 内存...

  • [JavaScript] V8引擎:垃圾回收与内存控制

    V8的垃圾回收算法 JavaScript的对象在V8引擎的堆中创建,V8会自动回收不被引用的对象。采用这种方式,降...

  • 常见GC算法与V8引擎

    内存管理 垃圾回收与常见GC算法 V8引擎的垃圾回收 Performance工具 代码优化实例 内存管理 为什么要...

  • JS性能优化——JavaScript语言的优化

    拉勾大前端的学习笔记,仅作为学习记录 内容概要 内存管理 垃圾回收与常见GC算法 V8引擎的垃圾回收 Perfor...

  • 优化你的内存

    这篇文章主要介绍 V8 的内存管理和垃圾回收知识。(总结来自网易课堂) V8引擎内存回收机制 为什么我们要关注内存...

网友评论

      本文标题:v8引擎的垃圾回收

      本文链接:https://www.haomeiwen.com/subject/sabpshtx.html