博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
chrome浏览器
阅读量:6894 次
发布时间:2019-06-27

本文共 1008 字,大约阅读时间需要 3 分钟。

chrome memory

1. 各功能项说明

  • summary视图: 看到当前快照的全部信息
  • comparison视图: 多个快照之间的对比
  • containment视图: 查看整个 GC 路径
  • statistics视图: 当前快照的各种数据类型(字符串/数组等)的占比

2. chrome控制台 profile/memory下栏目分布

  • constructor: 构造函数
  • distance: 对象到根的引用层级距离
  • shallow Size: 对象所占内存(不包含内部引用的其它对象所占的内存)(单位:字节)
  • Retained Size: 对象所占总内存(包含内部引用的其它对象所占的内存)(单位:字节)
  • new: 新建了多少个对象
  • deleted: 回收了多少个对象
  • delta: 对象变化值,即新建的对象个数减去回收了的对象个数
  • Size Delta: 变化的内存大小(字节)
  • alloc.Size: 已分配内存大小
  • freed Size: 空闲内存大小;

3. v8的垃圾回收机制

  • V8采用了一种分代回收的策略,将内存分为两个生代:新生代和老生代。新生代的对象为存活时间较短的对象,老生代中的对象为存活时间较长或常驻内存的对象。分别对新生代和老生代使用不同的垃圾回收算法来提升垃圾回收的效率。对象起初都会被分配到新生代,当新生代中的对象满足某些条件(后面会有介绍)时,会被移动到老生代(晋升)
  • 新生代垃圾回收: 它将内存一分为二,每一部分空间称为semispace。在这两个semispace中,一个处于使用状态,另一个处于闲置状态。处于使用状态的semispace空间称为From空间,处于闲置状态的空间称为To空间,当我们分配对象时,先是在From空间中进行分配。当开始进行垃圾回收算法时, 从根对象(window/global)上开始扫描,将被引用的对象放到To空间,所有被引用对象都放到To空间后,非活跃对象占用的空间将会被释放。完成复制后,From空间和To空间的角色发生对换。
  • 老生代垃圾回收: 标记清除和标记整理相结合,以标记清除为主.标记清除分为标记和清除两个阶段。在标记阶段需要遍历堆中的所有对象,并标记那些活着的对象,然后进入清除阶段。在清除阶段中,只清除没有被标记的对象。

参考

转载于:https://www.cnblogs.com/zhaowinter/p/10830638.html

你可能感兴趣的文章
串行(Sequential)、并发(Concurrent)、并行(parallel)与分布式
查看>>
JAVA NIO学习笔记之Channel(基础篇)
查看>>
Xcode升级到6.4之后插件无法使用,重新安装最新也无法使用的解决办法
查看>>
秒懂科技新概念
查看>>
eclipse启动tomcat无法访问
查看>>
Notepad++ 书签
查看>>
TiDB 集群测试
查看>>
十天学会php之第五天
查看>>
Java基础10
查看>>
jquery基础学习二
查看>>
为什么说写“安装指南”类博客的程序员是懒惰的
查看>>
Android模拟器——Genymotion(很快)
查看>>
学习规划
查看>>
SpringMVC项目使用Thymeleaf模板引擎
查看>>
定义和使用SQL变量
查看>>
12.21 php-fpm的pool12.22 php-fpm慢执行日志12.23 open_basedir12.24 php-fpm进程管理
查看>>
Supervisor进程管理软件的安装与配置
查看>>
细谈 vue - transition 篇
查看>>
Ubuntn中获取仓库中的工具源码与构建
查看>>
Html Dom getElementsByClassName
查看>>