设为首页 收藏本站
查看: 1066|回复: 0

[经验分享] Mac OS 内存管理知识

[复制链接]

尚未签到

发表于 2016-5-15 10:30:30 | 显示全部楼层 |阅读模式
  
  先请看下面三张图片,是MAC OS系统的“活动监视器”的截图,分别是8G,4G,2G内存。
DSC0000.jpg
  
  
DSC0001.jpg
  
DSC0002.jpg
  
  
  
  使用Mac OS系统时,关注内存的使用情况有时是必要的。
  常常使用Windows系统的朋友,可能觉得Mac OS系统一启动好像就一下子把内存全用光了,很紧张。
  其实是对Mac OS(或Linux)系统的内存管理方式不理解造成的,还在使用Windows系统的思维来看待这个问题。
  

  

  

  下面我们来了解一下Mac OS的“活动监视器”的“系统内存”标签:
  “系统内存”标签的饼图中显示的内存类型共有四种:wired(联动内存), activez(活跃内存), inactive(非活跃内存),free(可用内存)四种。
  四块饼图的总和等于安装在电脑上的内存(RAM)总量。
  

  wired(联动内存):
  是系统核心占用的,此内存中的信息无法移动到硬盘,因此必须保留在 RAM 中。联动内存的大小取决于当前使用的应用程序。
  

  activez(活跃内存):
  表示这些内存数据正在使用当中,或者刚刚被使用过。
  

  inactive(非活跃内存):
  表示这些内存中的数据是有效的,现在没有被使用,但最近曾经被使用过。
  例如,如果您使用 Mail 然后退出,则 Mail 曾经使用的 RAM 会标记为“非活跃”内存。此类“非活跃”内存可供其他应用程序使用,就像“可用”内存一样。
  但是,如果在其他应用程序占用此“非活跃”内存之前打开 Mail,则可以更快打开 Mail,因为其“非活跃”内存会转换为“活跃”内存,而不是从较慢的硬盘加载 Mail。
  
  free(可用内存):
  指当前未使用的内存,这些空间可以随时被程序使用。
  

  虚拟内存大小:
  这是指您的 Mac 上所有进程的虚拟内存总量。 
  

  入页面(Page outs) /  出页面(Page outs):
  这是指在 RAM 和硬盘之间移动的信息量。此数值是 Mac OS X 在 RAM 和磁盘空间之间移动的累计数据量。
  提示:当 Mac 必须将 RAM 中的信息写入硬盘驱动器(因为 RAM 已满)时,即会产生出页面。添加更多 RAM 可减少出页面。
   
  已使用的交换:
  这是指拷贝到硬盘驱动器上交换文件中的信息量。
  

  

  Mac OS(或Linux)系统的内存管理方式:
  Mac OS的内存管理非常高效。它会根据需要自动分配内存并调整内存的内容。
  当free的[内存]低于某个值(这个值是由你的物理[内存]大小决定 的),系统则会按照以下顺序使用inactive的资源。
  首先如果inactive的数据最近被调用了,系统会把它们的状态改变成active,并接在原有active[内存]逻辑地址的后面, 
  如果inactive的[内存]数据最近没有被使用过,但是曾经被更改过而还没有在硬盘的相应虚拟[内存]中做修改,
  系统会对相应硬盘的虚拟[内存]做修改,并把这部分物理[内存]释放为free供程序使用。
  如果inactive[内存]中得数据被在映射到硬盘后再没有被更改过,则直接释放成free。
  最后如果active的[内存]一段时间没有被使用,会被暂时改变状态为inactive。
  

  

  有了以上知识后,就可以对内存的使用情况做出自己的分析了。
  当前可用的内存总量 = free(可用内存) + inactive(非活跃内存) 
  如果你的系统里有少量的free memeory和大量的inactive的memeory,说明你的内存是够用的,系统运行在最佳状态,只要有需要系统就会使用它们。
  反之,如果系统的free(可用内存)和inactive(非活跃内存)都很少,而activez(活跃内存)很多,说明你的内存不够用了,快加内存吧。
  当然一开机,大部分内存都是free(可用内存),这时系统反而不在最佳状态,因为很多数据都需要从硬盘调取,速度反而慢了。
  

  同时关注“出页面(Page outs)”也是有必要的,前面有一句话已经提到了产生“出页面”的原因。
  出页面 很多可导致性能不好,一般free(可用内存)和inactive(非活跃内存)都很少时,同时也会产生大量的“出页面”。
  可以从本文配套的三张图片看出来。
  

  

  注:
  windows为了兼容古老和不规范的程序,允许程序直接控制硬件,导致windows系统的权力不够大,而许多windows程序也不规范,
  因此在退出进程后往往许多[内存]没有还给系统变成了invisible memory,导致时间一长系统可用[内存]越来越少。因此常常需要重新启动。
  
  
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-217195-1-1.html 上篇帖子: Mac OS X版本 下篇帖子: mac os 搭建golang
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表