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

hybeng


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

第一,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和Windows的内存使用逻辑是完全不一样的。

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

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

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

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

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

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


极果网


这是两种系统的虚拟内存管理模式不同造成的。MAC OS是Unix类系统,虚拟内存是一个独立分区SWAP,平时系统优先使用物理内存,交换分区不动用,此时系统可流畅运行。当物理内存耗尽,系统会把物理内存中暂时不用的数据交换到SWAP中,这时系统的IO性能会剧烈下降,系统变得很卡。Windows一直会使用虚拟内存,陆续把不使用的数据从物理内存交换出去,不会一次性处理大量数据,相当于能分给前台应用的内存更大了,在内存较小时,Windows流畅很多。

对桌面机来说,Windows管理模式更科学,因为陆续读写磁盘比持续读写磁盘效率更高,能有效利用磁盘内部的缓存。


光明右使8787


首先我的MacBook pro 和Mac book Air 都是4G内存运行很流畅,其次Mac os 系统现在都是64位系统早就不是32位的了……在windows的小伙伴都知道 64位系统至少都是4G起步,但是现在去电脑城装个系统一般都会推荐你装32位系统 因为32位系统2G内存都够用…


A101188426


你说的是误解,并不是OSX吃内存,用起来捉襟见肘,而是与Windows的机制不同。你可以理解为一辆车,Windows是想能同时坐更多的人,先上车的总要往里挤挤,多留出空间给后面的人,而OSX考虑的是舒适性,尽可能的空间利用最大化确保这批乘客舒服,后面还有人上车的话就先把前一批请下去,交替着舒服,其实包括现如今的手机iOS以及安卓,都是这样的内存机制,所以无论内存多大都好像用的满满的样子


只喝炭烧


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

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

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什么的,开机一大堆,你说这样的运行环境你怎么会不慢?所以,我觉得,在不以谈论运行环境、软硬件配置为基础的前提下讨论这个问题,都是没有意义的。

朴元阁篆刻世家


小编是白痴吗?我的MacPro 09年买的用到现在还在用,内存自己升到4G,以前Windows本差不多都是三年一换,小编刚毕业的小屁孩吗?建议不要再问这种脑残问题了,有空多读读书


吹散凌乱


不要直接比较Windows和MacOS的内存使用,因为两个操作系统的内存管理机制完全不一样,造成两者对内存的使用情况无法直接对比。Windows系统的大致原理是应用要多少用多少,退出就释放。MacOS大致是在内存足够的时候随便用,系统只有在不够的时候才去回收内存。所以正常使用的时候,MacOS的内存余量都会少于Windows系统。当然这是一个粗略的情况,具体问题还是要具体分析。


给你讲讲IT历史


用Mac的会考虑内存么?都是考虑屏幕大小,重量和价格,至于内在参数,运算速度只能说“去他的吧”,我不想伤这脑筋。我要的是好用和省心,不是成天琢磨怎么样能比其他的玩家快上那么1%。


MaxField


内存管理的逻辑不同,windows电脑在设计的时候是没听到的程序就不载入内存,尽可能保持内存为空,而mac os是尽可能把内存占满,通过预测算法把所有可能需要的程序都加载进来。所以无论你多大内存,一般来说mac都会把它占满,当你一旦运行的程序不在内存中的时候,他会把内存最不可能用到的部分清理出去,然后再把需要用的内容从硬盘里加载出来。两种方式各有优劣。


分享到:


相關文章: