js内存

140 阅读1分钟

v8引擎(没打开一个页面都是一个单独的引擎)

64位的操作系统 v8引擎最多可以使用1.4G的内存 32位操作系统 v8引擎最多可以使用0.7G

 

js代码在执行时,如果遇到垃圾回收,会先暂停执行,直到垃圾回收完成,才会接着向下执行

一般js垃圾回收 300M需要消耗 0.04毫秒的时间,也就是页面要卡顿0.04ms

 

内存空间 分为新生代空间和老生代空间

64位对应新生代空间64M 。 对应老生代空间1400M

32位对应新生代空间16M 。 对应老生代空间700M

注意:新生代内存占用空间超过了其本省空间的1/4,并且没有被垃圾回收机制回收掉的变量会转移到老生代空间

老生代中垃圾回收算法是 标记清除法+整理碎片(给每一个变量打上一个标记,当内存回收以后,会产生一定的磁盘碎片,通过整理磁盘碎片的方式,接受新的内存)

 

浏览器内存查看:window.performance 方法

 

js的性能监控 。 工具 Lighthouse

用法:Lighthouse www.baidu.com/ --output=html path ./