因为最近要解决网页经常崩溃的问题,所以去研究了一下chrome浏览器的标签页和进程的关系,以及标签页对应进程的内存分配。

标签页和进程的对应关系

当chrome浏览器开启但是没有任何一个标签页的时候,打开Activity Manager,按名称降序排列,会发现有一个google chrome进程,和2个google chrome helper进程,

然后打开一个标签页,发现多了两个Google Chrome Helper进程,

当页面加载完成,发现又少了一个

再打开一个页面会重复这个过程

到这里可以得出结论:chrome默认会启动主进程,和两个子进程,然后每打开一个标签页会启动两个进程,当页面加载完成其中一个进程会结束,只剩一个进程用于渲染和交互和网络请求,以后每个标签页都会重复这个过程。

标签页的内存分配

接下来是找到我们网站所在的标签页对应的进程,去观察他的一些资源占用情况。

确定了一个进程之后,然后点击强制退出,发现标签页崩溃了。由此,我确定了新增的那个进程就是当前标签页所对应的进程。

之后我看了下他的一些资源占用情况,

当我打开一个图片很多的子页面时明显看到内存占用上升,

之后我想测试一下一个标签页的内存上限是多少,也就是内存到多少时标签页的进程会被强制杀死,或者说页面崩溃。

于是我写了一个测试页面,

打开他的内存进程信息面板,看到现在内存占用是60M,于是我开始点击按钮添加网页内容

后来发现内存到300M就不动了,再添加多少都是这样,之后应该是在分配虚拟内存了。

因为虚拟内存的方式,mac osx下页面不容易崩溃,在windows下是怎样的机制没去研究,但崩溃的情况比较多,估计是windows下的情况。

总结

通过Activity Manager去研究mac下chrome浏览器的标签页和进程的关系以及标签页的内存分配,发现chrome默认会启动一个主进程和两个子进程,之后每启动一个标签页会启动2个进程,加载完成后会结束一个。每个标签页都会分配实际内存和虚拟内存,当实际内存达到300M左右时,之后就只会分配虚拟内存。因为这种机制的存在,mac下页面还是没那么容易因为内存溢出而崩溃的,更多的要去关心windows下的内存占用情况。

mac下chrome浏览器的标签页、进程和内存分配相关推荐

  1. Chrome浏览器新标签页设置首页主页修改添加网站Infinity插件好用

    Infinity new tab 是一款美观实用的chrome 新标签页.最常访问的网站添加,修改,删除网址都有,每日一图,云备份等功能都具备.是一款基于html5的Chrome扩展程序,它重新定义了 ...

  2. 已解决:mac下Chrome浏览器保存密码后无法填充

    问题阐述: 每次登陆不同网页输入密码后,点击保存,再次登陆时无法填充 解决方法: 关闭浏览器后 删除 Google/Chrome/Default下的Login Data , Login Data-jo ...

  3. mac下chrome浏览器查看网络源代码,及请求头信息

    打开网页源代码 network下的doc查看请求与响应信息

  4. chrome快速关闭标签页_将Google Chrome的“新标签页”替换为快速拨号

    chrome快速关闭标签页 Are you looking for a good alternative to the New Tab Page in Google Chrome? Then you ...

  5. Mac下Chrome和遨游浏览器的快捷键

    Mac下Chrome和遨游浏览器的快捷键 标签页和窗口快捷键 ⌘-N 打开新窗口. ⌘-T 打开新标签页. ⌘-Shift-N 在隐身模式下打开新窗口. 按 ⌘-O,然后选择文件. 在Chrome 浏 ...

  6. mac谷歌浏览器怎么登陆账户_mac怎么下chrome浏览器

    mac怎么下chrome浏览器? 首先打开Safari浏览器百度搜一下谷歌浏览器官网,进入官网页面下载 或者也可以直接打开下面的网址进入官网 https://www.google.cn/intl/zh ...

  7. Mac中Chrome浏览器的快捷键

    Mac中Chrome浏览器的快捷键 *在触控板中打开单击鼠标右键的功能 不用鼠标使用双指在触控板中连续点击两次 就是出现下图这个效果 打开"开发者工具" ⌘ + Option + ...

  8. Mac 下 Chrome 快捷键大全

    原文地址为: Mac 下 Chrome 快捷键大全 最近一直在使用 MAC 机器,感觉很不错,只是有很多操作不适应,找不到地方,特别是 Chrome 的快捷键操作,下午就详细的查询了下 Chrome ...

  9. 实现浏览器多标签页通信

    前言 我们都知道浏览器是可以打开很多标签页的,如果每个标签页代表的是单独的一个网站,那么这些标签页之间肯定是不能通信的,如果能通信那估计我们都得凉凉.但是在很多情况下,浏览器中的很多标签页都属于某一个 ...

最新文章

  1. 2022-2028年中国水基胶行业市场深度评估及前瞻研究报告
  2. QT的QMessageBox类的使用
  3. 封装JDBC事务操作,执行存储过程测试
  4. SSM框架中mapper和mapping.xml文件在同一个包下需要的配置
  5. 面试官:Redis中的缓冲区了解吗
  6. 筑龙网下载的文件格式是php_为什么使用迅雷下载的文件都是PHP格式的
  7. 划重点!2019年这类程序员非常稀缺,年薪超平均水平10倍
  8. oracle tbs_tmp,Oracle 12.2 设置LOCAL_TEMP_TABLESPACE
  9. Git——撤销和删除操作【git restore / git rm 】
  10. 卡巴斯基KEY 、NOD32注册机——最新版
  11. 杰控组态西门子PLC
  12. 手机号码归属地查询,查询手机号码归属地
  13. 希腊数字matlab,希腊数字|希腊数字表|希腊数字符号
  14. docker service
  15. LintCode 1173.反转字符串
  16. POJ Haybale Guessing
  17. 计算机桌面整理,电脑桌面太乱了怎么整理?
  18. Python - 装机系列30 AMD4650g+华擎A520+光威内存条3200MHZ频率设置
  19. oracle 字符串分割成数组_oracle 中如何分割字符串成为数组?
  20. 桌面计算机和笔记本被称为,网络上常见的PC是什么意思?深度解读计算机发展史...

热门文章

  1. python心得体会300字_有没有简单一点的 Python 小例子或小项目?
  2. 轴添加点击事件_Q群答疑丨如何批量修改Revit轴网编号,为它添加前缀?
  3. h3csnmp管理命令_H3C S5500V2-EI系列以太网交换机 命令参考-Release 1118-6W100_网络管理和监控命令参考_SNMP命令-新华三集团-H3C...
  4. 保持函数依赖的模式分解可以减轻或解决什么_推荐系统玩家 之 因子分解机FM(Factorization Machines)...
  5. python实时监控_使用Python监控Linux系统
  6. python paperclip_Python pyplot.sca方法代码示例
  7. c++ :MFC opencv使用namedWindow,imshow出现两个窗口
  8. 机器视觉 · 工业镜头
  9. 【AI初识境】近20年深度学习在图像领域的重要进展节点
  10. 全球及中国数字内容产业运行现状调研与盈利前景分析报告2022年