先请看下面三张图片,是MAC OS系统的“活动监视器”的截图,分别是8G,4G,2G内存。
使用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,导致时间一长系统可用[内存]越来越少。因此常常需要重新启动。
- 大小: 31 KB
- 大小: 30.4 KB
- 大小: 26.8 KB
分享到:
相关推荐
主要功能有:个人中心、用户管理、医生管理、医学知识管理、科室信息管理、医生信息管理、预约挂号管理、医嘱信息管理、药品信息管理、订单信息管理、留言板管理、系统管理等功能 用户:用户进入系统可以个人中心、...
项目介绍 本项目包含管理员、财务、用户、审核人员、外派人员等多种角色; 管理员角色包含以下功能: 管理员登陆,用户管理,理赔知识管理,理赔账单管理等功能。 ...或者 Mac OS; 5.数据库:MySq
或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 8.0版本; 技术栈 1. 后端:Spring SpringMVC MyBatis 2. 前端:JSP+bootstrap+...
技术关键词:Objective-C、iOS开发、Mac OS X、编程语言、面向对象编程、内存管理、自动引用计数(ARC)、协议(protocol)、类扩展(category)、键值观察(KVO)、键值编码(KVC)、Block、Delegate模式、多态性、...
C的基础知识和面向对象编程的重要概念,结合实例介绍了Cocoa工具包的优秀特性及框架,以及继承、复合、对象初始化、类别、协议、内存管理和源文件组织等重要编程技术,教你如何针对iOS或OS X用户界面编写出优秀的...
本书全面而系统地讲述Objective-C语言的基础知识和面向对象编程的重要概念,结合实例介绍了Cocoa工具包的优秀特性和其中的框架,以及继承、复合、源文件组织、内存管理、对象初始化和类别创建等众多重要的面向对象...
本书全面而系统地讲述 Objective-C 语言的基础知识和面向对象编程的重要概念,结合实例介绍了 Cocoa 工具包的优秀特性和其中的框架,以及继承、复合、源文件组织、内存管理、对象初始化和类别创建等众多重要的面向...
本书全面而系统地讲述Objective-C语言的基础知识和面向对象编程的重要概念,结合实例介绍了Cocoa工具包的优秀特性和其中的框架,以及继承、复合、源文件组织、内存管理、对象初始化和类别创建等众多重要的面向对象...
系统软件〔必备〕:操作系统〔Windows系列、DOS、Mac OS、UNIX、Linux、OS/2〕、数据库系统、语言处理程序〔C/VB/Java〕、诊断程序; 操作系统:是最基本的系统软件,是管理和控制计算机中所有软、硬件资源的一组...
《Objective-C基础教程》全面而系统地讲述Objective-C语言的基础知识和面向对象编程的重要概念,结合实例介绍了Cocoa工具包的优秀特性和其中的框架,以及继承、复合、源文件组织、内存管理、对象初始化和类别创建等...
操作系统种类—PC PC电脑操作系统 Unix和类Unix操作系统 MACOS(Mac OS X、OS X) 它们大量用于商业服务器,以及学术和工程环境中的工作站 Linux操作系统 Apple Inc.开发,1984年以来一直是苹果的主要操作系统 1991...
1.2 Apple Mac OS X 14 1.2.1 在Mac平台上安装Xcode 14 1.2.2 验证Mac平台的Java开发包 15 1.2.3 验证Mac平台上的Apache ANT 15 1.2.4 验证GNU Make 16 1.2.5 在Mac平台上下载并安装Android SDK 16 1.2.6 在...