为什么Mac OS X对内存的需求远远多于Windows?

hybeng


mac实际比windows没错要求低。但是darwin是BSD内核,没错管理方式是有多少都先规划起来的方式。看起来就是有多少用多少。


AlrinNi


你这个首先就不是在同等条件下的公平比较的最终用户结果,本质上你这种说法就是非常不准确的,为什么这么说?

第一,macOS和Windows的内存管理机制不同

当然不是说哪一个比哪一个先进,不能说macOS(基于Unix)的内存管理机制就比较先进,而Windows的内存管理机制就比较落后,只是两者在技术决策方面存在着一定的差异而已,就好比说Unix整个架构体系都是everything is a file,但Windows就不是。

macOS是内存最大化的使用,尽可能高的发挥性能,这时候你会发现在你的Mac上,8G内存好像也快用完了,但是转手到16G内存的机器好像也使用完了。但是比如你现在基础上,感觉内存已经爆了,但是你再开几个应用,但你会发现你的内存还是够用的。反过来你在Windows上试试,爆了就真的爆了,为什么有的第三方优化软件会让你点加速球,你是不是看到红色就要去点一下加速小火箭优化一下内存?

macOS的内存使用情况分为wired、active、inactive、free四种不同的状态,其中wired是系统核心占用,不会在物理内存中消失;active代表这些内存正在被使用、或者说刚刚被使用;inactive表示内存中的数据是有效的,但最近没有被使用;free代表内存中数据是无效的,这些内存空间就是随时都可以被使用的。当free的值地域某个值的时候,系统会按照顺序使用inactive的资源,通过一定的规则转变成free就可以继续使用,active的资源如果长时间没被使用,则转化为inactive状态,形成良性循环。但是在Windows里面其实inactive这部分也是当成了free在使用的,所以说你会感觉win的内存更多。

举个通俗的例子,macOS不管你用不用,先给你这么多再说,然后其他人要用你再还回来,但是windows不一样,我用多少拿多少,这就是两者在定义上的不同,已经在内存管理上的不同,这是内存管理机制上的差异而引起的,如果物理内存真的不够用了,不管macOS还是windows都一样。当然Windows有内存压缩,但是macOS也有啊。

第二点,你不能用3000的4G的Windows PC来作为佐证

MacBook(Pro)目前的起价摆在这里,你不能说只有4G内存的3000的Windows PC是有这样的电脑,而MacBook现在最低的机器8G,这样比较本身就是耍流氓。

MacBook目前起价是多少?Windows机器有4G的只是代表有这样的需求,但是MacBook定价高不代表就一定做不出来4G的本子。就好比iOS和Android一样,iPhone的硬件看上去配置远远要比Android的机器配置低,你各大厂商走一圈,现在Windows阵营8G内存的机器照样一大堆。

第三点,你装个Windows7,装个Photoshop早期版本比最新的macOS不厚道吧

就如你所说,你现在还用着windows7的电脑,谁知道你Photoshop是不是也是用得老版本,这样比较不厚道吧。

上次有个小伙伴用Windows XP跟macOS Mojave比内存消耗,说实话我当时反手就像一巴掌扇过去,这样比较有意义?用很多年前的标准来要求现在最新的平台,这本身就不合理,所以这本身就不合理。

随着技术的进步,Mac对于陈旧技术的淘汰很显然要快得多,举个例子现在用macOS的,基本上都是第一时间更新到最新版本,但是这么多年过去了,还有人在用用了近20年的Windows XP,但是windows为了兼容老旧的硬件,甚至一些特定场合的特殊需求,又不得不做这些像旧的硬件、更低的硬件妥协,但是苹果很少需要做这样的妥协。

macOS的生态更纯粹,但是windows的生态乱七八糟,这是微软有时候必须考虑的,这一点跟iOS和Android的差异是一样的。

因此,这个问题根本就是个伪命题!


EmacserVimer


其实这主要是两个系统对内存的管理机制不同

mac的内存管理秒win7无压力,win8虽然内存管理上貌似有进步但是跟mac比还是差得远。在mac下就算你40G内存都有可能被“用光”的。

OS X 系统采用了 Unified Buffer Cache,空闲内存会被用来加速文件访问,也就是你看到的蓝色非活跃部分。正常情况下,如果有程序需要更多内存时,系统会从非活跃的部分释放空间出来。所以实际上蓝色部分是可以用的。内存是宝贵的系统资源,闲置【绿色部分】是浪费。让系统去管理就好了,不用操心。

如果你实在想干涉系统的正常运作,可以打开终端输入 purge 命令然后回车,蓝色部分会显著降低,但代价是你之后首次启动程序、打开文件的延迟会显著上升。之后系统又会根据你的访问频次把这些文件缓冲在内存里面,然后蓝色部分又会增加。

OS X 的早期版本的 UBC 管理策略不是很好,在个别情况下会造成 thrashing 从而严重影响系统响应速度。遇到这种情况,最简单彻底的解决方法是重新登录系统或者重启。感觉从 10.6 开始这个问题已经得到了极大的解决,几乎再也没遇到过由于 UBC 导致的无响应了。


远行泰迪熊


1、在同价位的情况下,PC 笔记本一般都是 4G 内存,鲜有 8G,而现在的 MacBook 基本是 8G 起跳。 MAC和PC的同价位配置根本不是一个级别,完全没有可比性。另外,同价位下,PC笔记本8G内存的笔记本海了去了,如果感兴趣可以去JD搜搜,多得很;然后就是,谁跟你说现在的MacBook是8G起跳的?4G配置的也多了去了,请参见: MacBook Pro - 购买13 英寸、15英寸或配备 Retina 显示屏的 MacBook Pro 2、我 PC 上 4G 内存还能跑 Photoshop,开比较大的图,而在 Mac 上,4G 内存普通应用都捉襟见肘。 我不知道你在Mac 4G配置的电脑上所谓的“普通应用”指的是什么,或者说,你理解的“普通应用”到底是哪一类?QQ?迅雷? 再问,你说在PC上4G内存能跑PS,还可以开比较大的图。这个“比较大”的图是多大? 我对比了一下: 相同的MBP,我装了OS X和WIN 7 SP1 x64。OS X上安装的是PS CS6,Win上安装的是PS CS5,内存占用(只运行PS不载入文件)分别是:OS的是137MB、WIN的是106MB,考虑到OS端的PS是CS6版本,所以如果只是单纯的看内存占用率的话,两者并无太大区别。 我曾经无数次同开Photoshop、After Effects,其间QQ什么的,但从未遇到过提示内存不够的情况。 另外,别忘记了,在上述软件里,是可以设置内存占用率及设置暂存盘的。 3、现在基本预装 64 bit 系统,至少我 10 年买的 acer 4820TG 虽然只有 2G 内存,但是依旧搭载了 64bit 操作系统 64位系统对于我们来说,可能最直接明显的好处就是突破了4G内存的极限,至于其他的,我们暂且可以不论了,所以这个问题我觉得没有什么意义。 4、了解 OS X 的逻辑是最大化利用内存而不是省内存。 我觉得你既然已经了解了这一点,那你应该就能够明白,两者不应该相提并论的。 5、撇开搭载成本(现在 PC 上内存价格很低,而 Mac 上内存价格很高)、64 bit / 32 bit 等原因,请从技术角度分析,为什么 OS X 对内存的需求远远多于 Windows? 首先问题4就说了,两者不应该相提并论,另外,问题2上我已经说明了,单纯看数据,无法证明OS比WIN更需要内存。 综上所述,如果执意要以“为什么 OS X 对内存的需求远远多于 Windows?”这个伪命题来讨论的话,我的解释就是:因为OS操作系统本身所占用内存就要比WIN多,所以这么一比较,它就要比WIN多需要一点了。 问题是,电脑不是这样用的,OS和WIN本身就是两个内存管理机制就不一样的系统,没有可比性。 另外,你不能单纯的说你的PC上可以运行PS还跑大图,而MAC上不行就认为MAC比PC耗内存,因为很多时候软件还要讲究一个使用环境的。你PC上独开一个PS,可你MAC上运行了一堆东西,那内存占用可能MAC还更高(不要以为“普通应用”不占内存,一个QQ在MAC里就占了几十MB内存的)。另外,我之前提到的,还有PS里的内存占用率和暂存盘设置呢,这些方面你有好好设置过么。(PS在双方操作系统里的内存使用率都是保守设置的) 再另外,每个人都有自己的使用习惯。 我举个例子,我07年配了一套电脑,现在这套电脑媳妇用着,每次她的朋友来用这个电脑都纷纷说电脑用起来好流畅啊,上网速度好快啊,还问为什么他们近一两年才配的电脑为什么用起来都没这台电脑舒服。 实际上,我给媳妇用的这套电脑,无论从CPU、内存、硬盘上来说,配置都要比她的朋友们的电脑配置差,可是我媳妇一直在用着我事先给她装好的QQ、酷狗、百度影音、阿里旺旺(她就是上上Q、听听歌、看看电影和逛逛淘宝),她从不乱安装任何软件和乱去任何网站,所以这套电脑开机没有一堆垃圾软件加载(所有杀毒软件、安全管家、3XX之类我一律拒绝),浏览器没有一堆插件挂载,更没有各种乱七八糟的P2P之类的影视软件占用带宽。所以在这种干净的系统环境下,2MB的ADSL都足够她一边用着IE上淘宝一边看电影一边挂着QQ了。 相比起来呢,她那些朋友家里的电脑,各种乱七八糟的软件装了一堆,光浏览器就6、7个,输入法2、3个,特别是各种风行、PPS什么的,开机一大堆,你说这样的运行环境你怎么会不慢? 所以,我觉得,在不以谈论运行环境、软硬件配置为基础的前提下讨论这个问题,都是没有意义的。


边缘人


第一 所谓的同价位没有可比性, macbook在同配置价格远高于win, 第二,不要拿游戏对比,没可比性,macos天生不适合游戏,第三所谓的macos必须要大内存也是个误解吧, 我几台macos电脑 4G 8G 16G的都有, 我4G的mac mini 开启ps等软件 毫无压力,片段数2K以上的pr,在mac上可以顾虑剪辑下去,而在pc上,必须随时存盘,防止崩溃,另外,macos 在高内存 高cpu情况下(比如渲染),还是可以干其他的一些低负荷的事,比如看视频 ,浏览网页等,不会太快, pc的话 只能放在旁边等,鼠标都会卡死,, 游戏的话使用win系统, 办公的话,稳定性可靠性macos肯定适合(软件没有必须性的话), 第四, win系统 估计用不到1年 就需要重装了, macos,除非乱折腾系统崩溃,基本没有重装这个说法, 第五 pc可以升级内存啊 硬盘啊 macos 就不好说了, 第六, 如果只是办公,一台mac用个5年问题不大,除非你嫌弃他 win就难说了。 最后 适合自己的才是最好的


V那个9


前边好多朋友都回答了两者对于内存的管理不同,其实对于这点,普通用户根本不用关心,你只需要关心体验就好。玩儿游戏肯定是Windows体验好,图片处理视频剪辑以及软件开发等Mac比较流畅。

现在越来越多的人开始用Mac,为什么?因为体验确实棒,我做软件开发的,用MacBook Pro几乎没有关过机,下班合上电脑直接走人,到家打开直接看视频,从来没有重装过系统(这点就秒杀Windows)

说回内存,如果你想对比,需要这样来比:用同一时期的大致相同规格的硬件和软件比较,这样才有可比性,否则没法比。


挨踢的苹果


首先,我觉得你的这个命题本身跟用户的最终使用结果不太相符。再看你问题下面列的内容,我也不敢苟同:

(此段原文为:首先,我觉得你的这个命题本身就是错的。再看你问题下面列的内容,我也不敢苟同:)

1、在同价位的情况下,PC 笔记本一般都是 4G 内存,鲜有 8G,而现在的 MacBook 基本是 8G 起跳。
MAC和PC的同价位配置根本不是一个级别,完全没有可比性。另外,同价位下,PC
笔记本8G内存的笔记本海了去了,如果感兴趣可以去JD搜搜,多得很;然后就是,谁跟你说现在MacBook是8G起跳的?4G配置的也多了去了,请参见:


MacBook Pro - 购买13 英寸、15英寸或配备 Retina 显示屏的 MacBook Pro

2、我 PC 上 4G 内存还能跑 Photoshop,开比较大的图,而在 Mac 上,4G 内存普通应用都捉襟见肘。
我不知道你在Mac 4G配置的电脑上所谓的“普通应用”指的是什么,或者说,你理解的“普通应用”到底是哪一类?QQ?迅雷?
再问,你说在PC上4G内存能跑PS,还可以开比较大的图。这个“比较大”的图是多大?
我对比了一下:
相同的MBP,我装了OS X和WIN 7 SP1 x64。OS X上安装的是PS CS6,Win上安装的是PS CS5,内存占用(只运行PS不载入文件)分别是:OS的是137MB、WIN的是106MB,考虑到OS端的PS是CS6版本,所以如果只是单纯的看内存占用率的话,两者并无太大区别。
我曾经无数次同开Photoshop、After Effects,其间QQ什么的,但从未遇到过提示
内存不够的情况。另外,别忘记了,在上述软件里,是可以设置内存占用率及设置暂存盘的。

3、现在基本预装 64 bit 系统,至少我 10 年买的 acer 4820TG 虽然只有 2G 内存,但是依旧搭载了 64bit 操作系统64位系统对于我们来说,可能最直接明显的好处就是突破了
4G内存的极限,至于其他的,我们暂且可以不论了,所以这个问题我觉得没有什么意义。


4、了解 OS X 的逻辑是最大化利用内存而不是省内存。
我觉得你既然已经了解了这一点,那你应该就能够明白,两者不应该相提并论的。

5、撇开搭载成本(现在 PC 上
内存价格很低,而 Mac 上内存价格很高)、64 bit / 32 bit 等原因,请从技术角度分析,为什么 OS X 对内存的需求远远多于 Windows?
首先问题4就说了,两者不应该相提并论,另外,问题2上我已经说明了,单纯看数据,无法证明OS比WIN更需要内存。

综上所述,如果执意要以“为什么 OS X 对内存的需求远远多于 Windows?”这个伪命题来讨论的话,我的解释就是:因为OS操作系统本身所占用内存就要比WIN多,所以这么一比较,它就要比WIN多需要一点了。

问题是,电脑不是这样用的,OS和WIN本身就是两个内存管理机制就不一样的系统,没有可比性。
另外,你不能单纯的说你的PC上可以运行PS还跑大图,而MAC上不行就认为MAC比PC耗内存,因为很多时候软件还要讲究一个使用环境的。你PC上独开一个PS,可你MAC上运行了一堆东西,那内存占用可能MAC还更高(不要以为“普通应用”
不占内存,一个QQ在MAC里就占了几十MB内存的)。另外,我之前提到的,还有PS里的内存占用率和暂存盘设置呢,这些方面你有好好设置过么。(PS在双方操作系统里的内存使用率都是保守设置的)再另外,每个人都有自己的使用习惯。
我举个例子,我07年配了
一套电脑,现在这套电脑媳妇用着,每次她的朋友来用这个电脑都纷纷说电脑用起来好流畅啊,上网速度好快啊,还问为什么他们近一两年才配的电脑为什么用起来都没这台电脑舒服。
实际上,我给媳妇用的这套电脑,无论从CPU、内存、硬盘上来说,配置都要比她的朋友们的电脑配置差,可是我媳妇一直在用着我事先给她装好的QQ、酷狗、百度影音、阿里旺旺(她就是上上Q、听听歌、看看电影和
逛逛淘宝),她从不乱安装任何软件和乱去任何网站,所以这套电脑开机没有一堆垃圾软件加载(所有杀毒软件、安全管家、3XX之类我一律拒绝),浏览器没有一堆插件挂载,更没有各种乱七八糟的P2P之类的影视软件占用带宽。所以在这种干净的系统环境下,2MB的ADSL都足够她一边用着IE上淘宝一边看电影一边挂着QQ了。

相比起来呢,她那些朋友家里的电脑,各种乱七八糟的软件装了一堆,光浏览器就6、7个,
输入法2、3个,特别是各种风行、PPS什么的,开机一大堆,你说这样的运行环境你怎么会不慢?所以,我觉得,在不以谈论运行环境、软硬件配置为基础的前提下讨论这个问题,都是没有意义的。

朴元阁篆刻世家


一看你就没有用过mac ,所以在这里大放厥词!

mac 的流畅是你想象不到的!还有现在主力机器那个不是16G。win 16G要卡还不是照样卡,mac 可以流畅的进行各种编辑和渲染!

如果你提打游戏,你怎么不说PS 4,那个更流畅!不知所云的对比!


黄大壮4


内存使用理念和机制不一样,mac是根据内存大小,尽量将用户常用的软件先运行起来,减少启动时间,以达到良好的用户体验,这点上ios也很好的继承了,ios如果也让你看内存,估计也是相当难看。win恰恰相反,程序如果不使用就回收内存,为下一个软件腾出空间


ylqzx


叮铃铃~ 极果君的科技小课堂又开课啦~

先来一句话结论:因为Mac和Windows的内存使用逻辑是完全不一样的。

Windows系统的内存使用逻辑是用多少占多少,不用的内存就会赶快释放出来,等待系统进行下次分配。

mac OS的内存使用逻辑刚好相反,它和所有unix-like系统一样,都讲求最大化利用内存:计算机科学里有个局部性原则,讲的是如果一个程序被访问了,那么在它附近的内容很可能会在短时间内被再次访问。因此为了最大化提升系统流畅度,Mac会把这些可能要访问到的内容一股脑的全塞进内存里。

结果就是看上去mac的内存永远满满当当。

如果程序需要的内存不足够,那么系统会自动把这些“缓存”释放掉一部分。因此不需要担心mac内存不足会把系统卡死。

不过,手动“释放内存”在mac上是没啥用的(在安卓上其实也没用),因为你清理掉了内存之后,那些内容就需要从硬盘进行读取。跟快到不行的内存比起来,这个过程可就慢多了。清理之后反而会让软件加载的时间大大加长。

所以,并不是mac的内存占用大,而是两者对内存使用的策略不一样,你学到了吗?


分享到:


相關文章: