号称不用关机的 Mac mini,内存使用为何如此高? RAM 经常 70%, window server 1.8g, chrome 一个标签页 200m

4 天前
 ly1878
盖板新 Mac mini ,摸索了一段时间,对内存占用实在不太理解,我这 16g 如此,那之前 8g 的是不是影响正常使用?
尤其 window server 开机很低,用几个小时,能达到 1.8g ,dropbox 占用高我看官方网站也有说明,理解是软件运行机制如此,文件越多占用越多,crafts 占用这么高我也不太明白。
app 内存、联动内存、被压缩、如何理解?
是不是马蹄圈始终🟢的 1 就没问题,不用管占用 70%的事情?
请大佬多指点该如何理解内存占用这么多?有什么好的办法?
7892 次点击
所在节点    macOS
109 条回复
wangyzj
3 天前
mac 的用法就是常年内存爆炸的用
ShadowPower
3 天前
@ttkanni 那是 Windows 9x 时代的设计了。Windows XP 就支持预读取了,Windows Vista 把它升级成了超级预读取( Superfetch ),并不会“只会占用必要的内存”
bigshawn
3 天前
Mac 和 Linux 只要看内存压力就行。
totoro625
3 天前
软路由 8+256 ,光给我占用 swap 了,真担心哪天硬盘暴毙
Data Units Read: 178,386,218 [91.3 TB]
Data Units Written: 19,409,704 [9.93 TB]
yolyzhu
3 天前
你看我就不装 state 和 istate ,如果你卡,装了这俩更卡。如果你不卡,装这俩看啥看……
ShadowPower
3 天前
这个帖子下面的大多数回答,其实是错的……

系统自身的缓存并不会算在某个进程上面,因为它们都是打开过然后又被关闭的程序或者文件。在资源监视器的“已缓存文件”一栏能看到这部分的大小。

如果是软件内部自己实现的缓存,那并不会区分 macOS 还是 Windows 。在任何一个系统上,看起来都是“很吃内存”,因为操作系统无法得知这部分内存用于何种用途,也不会主动去回收它们。

“内存”列显示的内存,其实也不是进程真正占用多少内存。比如这个例子:


我加载了一个 2GB 的模型,实际上也需要占用 2GB 物理内存空间作为显存使用,但是“内存”列并不会显示出来。
而且,如果进程的大部分内存不活跃而被压缩,那么“实际内存”这一列其实能显示更小的数值。
这一列代表“真正在物理内存里占用的大小”,反而更接近 Windows 任务管理器中的含义。

而 macOS 的“内存”在 Windows 任务管理器里,比较相似的属性是“提交大小”。


现代的操作系统都会用空闲内存作为缓存使用,并没有所谓“macOS 相比起来会尽可能多用内存”的特性。如果你看到一个程序非常吃内存,那么有极大的可能,这个程序确实非常吃内存,而不是什么机制在起作用。该重启的时候就应该重启,不然硬盘寿命顶不住。
rick13
3 天前
@ly1878 #56 可以戒了。。
wryyyyyyyyyyyy
3 天前
@xtx 我们厂工控设备用的 winserver ,西门子那一套东西。
icestraw
3 天前
让我说一个暴论:

其实 mac 就是比 Windows 耗内存!
什么“尽可能使用的多一些”“Windows 尽可能少占用些“Linux 内存调度是尽可能吃满””都是扯淡
就是内存小了!
Windows 窗口重绘逻辑是按屏幕的,mac 窗口重绘逻辑是按窗口的
再加上 macOS 用高 DPI 的屏幕人又多,动画特效阴影半透明又多,占用的内存必然大,光接一个 4k 屏幕内存占用就多一个 G

16G 一天到晚有人在说 mac 要吃满,你把内存加到 128G 试试?还不是和 Windows 一样的工作模式,用多少占多少

只是说 mac 做内存压缩做的比较早( 10.9 就开始了),用 ssd 做虚拟内存载体比较早,部分程度 Cover 了这个缺点而已!

16G 为什么今年作为标配,就是因为 mac 耗内存越来越大,在 8G 内存下连压缩内存+虚拟内存都慢慢不够调度了!什么 AI 都得往后稍一稍
Hookery
3 天前
@ShadowPower 学习了。。。
bs10081
3 天前
@yolyzhu 有道理,卡的時候 iStat Menus 可以說完全無法用,不卡的時候確實也不用看,uninstall 了😆
ttkanni
3 天前
@ShadowPower #62

哈哈,你说的对,感谢补充。我回答的本意是系统给应用的内存调度机制不同,Superfetch 是系统级缓冲策略,它吃掉的内存也不会反应在应用占的内存里。“通俗的讲” 也讲不了那么全面。
parthenon2007
3 天前
@lix7 确实,浏览器使用的内存太多了
cheng6563
3 天前
此贴依旧一堆果粉自适应,资源监视器显示的内存占用已经排除掉缓存了,实际上就是用了这么多内存。
Donaldo
3 天前
@lix7 #14 WindowServer 的泄露修了一个,又来一个
Bluecoda
3 天前
卡了再说,16G 很多人都说不够用,但是我到黄了也不怎么卡啊。mac 会把不用的进程压缩,或者丢进交换里,不会卡的,除非你开虚拟机,那种没办法绕过去的。
YuiTH
3 天前
Windows 实际上也有类似 mac 的缓存机制, 只是这部分内存在计算的时候被算入了"可用"

https://imgur.com/SWUMOX2
wow0o
3 天前
mac 策略就是爆内存然后用昂贵的硬盘当 swap 。
ITisCool
3 天前
@YOKAMIA #60 有没有可能是下到了 Intel 版本的?我昨天下就下到了 Intel 版本,从分享的链接里点安装客户端它自动判断给我下的就是 Intel 版本😓,虽然也能运行但是是 Rosetta 转译运行的,后面我自己去下载页手动点下载 Apple Sillicon 版的才下对原生版
bluearc
3 天前
@xtx window server 似乎有轻微的内存泄露,根据自己的情况定时重启好一点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1102823

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX