作为 M1 16G 内存三大常驻客,一是 WindowServer ,另一个 Google Chrome helper ,最后一个 telegram 。
第二个没办法摆脱,safari 能接受但是习惯了 chrome ,习惯的法则。最后一个电报也是需要挂着,这时候会感叹微信的小而美了。
1
devswork 2022-04-07 10:36:28 +08:00 1
内存压力变黄了?
|
2
iCong 2022-04-07 10:41:27 +08:00
没黄问题就不大。16G 确实不够用了,开个 JB 家的 IDE 必黄。
|
5
root01 2022-04-07 11:14:37 +08:00
tg 看毛片??
|
6
ruidoBlanco 2022-04-07 11:29:49 +08:00 10
微信的小而美???
|
7
chendy 2022-04-07 11:40:01 +08:00
同 m1 16g ,无压力
居家办公,微信、钉钉、idea 开两个项目、chrome 三个 profile 各开 10 个以内的 tab 、一个 vmware horizon ,一个 obs 录屏 内存压力 50%不到……只能说 windowServer 有什么诡异的 bug |
8
darrh00 2022-04-07 11:45:13 +08:00
看了一下机器上,微信确实让我惊艳到啊,Wechat 只用了 245MB, 而 Telegram 用到了 1.5GB ,只加了 5 ,6 个群而已,而且只有两个群比较活跃。。。
|
9
ngbdsb 2022-04-07 12:14:28 +08:00
现在除了有时候网页内存泄漏,或者自己写的 python 爆内存,每天永远都是 windowserver 占内存最多,关掉一些窗口会好一点但是只要一开机就一直慢慢往上涨。
|
11
281x1h2ez12 2022-04-07 12:23:00 +08:00
所以一堆人建议 32G 内存足够的时候,还是买了 M1 Max 64G 内存,就这样 PyCharm Chrome 开多了还飙到过 33G 。
|
12
minsheng 2022-04-07 12:23:59 +08:00
是时候审视一下是 macOS 没办法摆脱还是 Chrome 没办法摆脱了,出门左转 Ashai Linux ,冲呀!
|
13
sickoo OP |
14
winddweb 2022-04-07 12:50:55 +08:00
看了下 telegram 用了约 540MB ,加两个 service ,算 600 吧。
|
15
volvo007 2022-04-07 12:55:39 +08:00
我这边最多的是最近不知道哪冒出来的 Safari Networking, 最高有 7G, 感觉是内存泄漏
|
16
discrete 2022-04-07 13:03:29 +08:00
我现在内存占用最多的反而是 Logseq……下一台电脑真的 32G 才行了
|
18
sickoo OP @volvo007 我的内存负载常年在 59% 58%,没开啥应用。中大奖了,又不敢升级 mac os ,这玩意在我手里跟炸弹一样。
|
19
volvo007 2022-04-07 13:37:36 +08:00
@sickoo 我从 Intel 换到 M1 的时候, 系统配置都没有迁移, 只迁移了数据, 开发环境痛定思痛全新配置
最近还重装了一次 (不影响数据的那种重装) 这么搞完之后, 外接雷电 dock 从休眠中恢复时候的 panic 问题得到解决 windows server 高占用解决 Firefox 和 Safari 泄漏随着版本更新也消失了, 现在就是这个 Safari Networking 碍事 不行就长痛不如短痛折腾下系统? |
20
bleutee 2022-04-07 13:39:59 +08:00
WindowServer 其实还好,Chrome tab 多了以后内存泄漏是真烦。
我自用一半 Safari ,只有工作或者需要特殊插件的时候才用下 Chrome |
21
p23XnFNH1Wq953rV 2022-04-07 13:45:52 +08:00
内存黄了也没关系吧,感觉不到卡顿就行
|
22
wolfie 2022-04-07 13:50:15 +08:00
pc 微信竟然才 60MB++
|
23
iyaozhen 2022-04-07 13:50:19 +08:00
有事没事 重启下吧
不要再吹 Mac 不用重启了 |
26
leeyuzhe 2022-04-07 13:53:58 +08:00
Google Chrome helper 是啥?
|
27
sickoo OP ![图]( https://raw.githubusercontent.com/googidaddy/img/master/2022/20220407135500.png)
来张看似没有多少 app 在运行,但实际已经占用 10g.jpg ,我还没开 jb 家的东西,仅仅 toolbox ,vs code 还没开,只配单一作战 |
29
LotusChuan 2022-04-07 14:12:01 +08:00 via iPhone
你这内存压力看着挺好的,你别看内存占用,苹果计算内存占用的方式很迷惑,占了也不一定在用,有时候多占点反而快,以前用户一直看不懂所以它出了个内存压力,看颜色就完事了。
|
30
wu67 2022-04-07 14:19:58 +08:00
其实还算可以了, 缓存占了大多数. 我的 32G, 用了 24G, 缓存是 7 点几, 还有一堆更是内存大户. mumu scrcpy node webpack 钉钉 微信 electron, 抽出 100M 占用的应用里面, 微信只能排到中等...
|
31
Mirage09 2022-04-07 14:24:02 +08:00
也还好吧,反正 macOS 会 swap 到硬盘上
我的 iMac 27 LR 日常占用 20G 内存(一共 64G ),swap 经常 10G+,倒不会影响其他 app 使用 |
32
yiplee 2022-04-07 15:10:44 +08:00
telegram 可以用 spa 版本 https://web.telegram.org/k/ ,很好用
|
33
lscexpress 2022-04-07 15:15:54 +08:00
我现在老版 mbp16g 还够用,等我下次换 m1 的 mbp 一定是 32g 起步
|
34
summersun2021 2022-04-07 15:23:17 +08:00
mbpmax 顶配 64 ,ps2022 、ghrome 、wechat 、wps 、fcpx 渲染 4k ,40g+内存习惯了。不过暂时还没超 50+,风扇转过 2 次。64 够用,下次升级毫不犹豫选择 128g
|
35
sickoo OP @LotusChuan 好吧。管他呢,用到它爆炸为止吧。
|
36
xtinput 2022-04-07 15:39:44 +08:00
WindowServer 2G+
|
37
xtinput 2022-04-07 15:41:11 +08:00
我惊到了,32G 内存,刚刚看了下,交换内存 2G ···· 不知道啥时候的事情
|
38
xtinput 2022-04-07 15:46:27 +08:00
干掉 WindowServer 进程再登录就变成 400M 的内存了
|
42
w3cll 2022-04-07 21:14:38 +08:00
所以 WindowServer 是干嘛用得?
|
44
txx 2022-04-07 22:01:42 +08:00
M1 Mini 同时开着 Chrome / VSCode/ Goland / WebStorm / DataGrip / Telegram / Wechat / Excel ,也没感觉有啥问题啊
|
45
wolfmei 2022-04-07 22:36:38 +08:00
8g 的轻松到怕
|
46
smallthing 2022-04-07 22:40:59 +08:00
WindowServer 这个东西很垃圾的 还说图形化方面超过 win 。呵
|
47
lxiszuhi 2022-04-07 22:55:57 +08:00 1
我以为可以在 M1 上跑 Windows server VM 了。。。。
|
48
wobuhuicode 2022-04-07 22:58:05 +08:00
给你一个方案,Chrome 和 telegram 用平板,通用控制能把鼠标键盘一下子就能切换过去了,图片什么也能拉过去,聊天无压力。就像多了一个独立系统的副屏一样。
|
49
Features 2022-04-07 23:07:08 +08:00
世界上只有一种焦虑,就是穷焦虑
这种情况别把 mac 当主力机 mac 在我这里永远只是一台 xcode 开发机 |
50
rpman 2022-04-07 23:48:20 +08:00
@discrete logseq 之前的版本会将所有图载入到内存. nightly 里已经改成只载入打开了的图
图里的所有 asset 也会载入到内存, 是非常占内存的一个点 |
52
Rooney1 2022-04-08 04:21:29 +08:00
好家伙 把 TG 换 PD 就是我
|
53
dingwen07 2022-04-08 07:14:34 +08:00 via iPhone
Telegram 要用那个 SwiftUI 的,Telegram Desktop ( Mac 上叫 Lite )有内存泄漏的 bug
|
54
alexcding 2022-04-08 08:01:30 +08:00
我也是, 定了 64GB mac studio
|
55
alexcding 2022-04-08 08:05:34 +08:00
好像 WindowServer 就是管理图形的, 可能吃掉了一部分显卡的内存?
Active Monitor 观察到的内存占用,好像比第三方的要小很多. 估计是去除 GPU 那块了 |
57
xman99 2022-04-08 08:41:53 +08:00
内存占用不高呀。。。phpstorm 我一次开 3-4 个项目,占用 2g 多呢,你这情况很不错的,不用太忧心的
|
58
Cloutain 2022-04-08 09:12:03 +08:00
吓死我了 以为是 Windows Server 系统呢
|
59
ShadowPower 2022-04-08 10:28:43 +08:00
@LotusChuan 占了也不一定在用,有时候多占点反而快:这说明是内存泄漏了,泄漏的内存程序没法访问到,放进 swap 里都只是单纯地占据硬盘空间,永远不会再次调回内存。
|
60
LotusChuan 2022-04-08 11:02:54 +08:00 via iPhone
@ShadowPower
buffer pool 就是占了内存不用的例子,你说这是内存泄漏? |
61
ShadowPower 2022-04-08 11:51:46 +08:00
@LotusChuan 回收不了,当然是
|
62
ShadowPower 2022-04-08 11:53:37 +08:00
@LotusChuan 一方面是做这些事情根本用不着如此多的内存,另一方面是内存不足的情况下它也不能收缩,根本不在程序控制范围内……
|
63
LotusChuan 2022-04-08 12:31:04 +08:00
@ShadowPower
1. 内存申请了不用很正常,其他操作系统像安卓也有空进程,当缓冲用加速的。 2. 要是给源码那还能看下是不是内存泄漏,然而 macOS 你看不了源码,内存管理逻辑也不清楚,万一它算内存是直接按虚表地址空间大小来的,那显示的内存再大也只能说明虚内存空间大而已,物理内存你又不知道。你有什么证据说它内存没回收吗。 |
64
EvilDevilJin 2022-04-08 12:48:39 +08:00
亲身体会,macOS 还是得重启的,真的越用越卡,内存占用越用越高。
我现在一周重启一次。 |
65
docx 2022-04-08 13:02:07 +08:00 via iPhone
Telegram Web 够用,网页能解决的问题从不装客户端
|
66
ShadowPower 2022-04-08 14:26:24 +08:00
@LotusChuan
1. 那些缓冲加速用的进程,在设计上就给了很低的重要性,内存不足的时候首先会把它们杀掉; 2. 系统内核里哪里有虚表的概念,那是 C++之类的语言为了实现多态而引入的设计。程序可以向系统申请一定大小的内存,可以是私有的,也可以是共享的(例如多个程序使用了同一个动态链接库)。如果没有 swapfile 这种设计,内存不足时其他程序当然就申请不到内存了。 当然我知道你想说的第二点是什么,其实这对应 Windows 的“提交大小”。也就是程序向系统申请的内存大小,而不是放在物理内存中的那部分大小。 但排查有没有发生内存泄漏的时候当然就是关注这个指标(即程序向系统申请的内存大小,而不是实际使用的),毕竟物理内存可能只有 8GB ,但程序却申请了 10GB ,其中一大半在 swapfile 里面。你去查看程序使用的物理内存大小,那永远不可能超过 8GB 。 这时候还要骗自己“它占的物理内存没有增加,所以没有内存泄漏”吗? 内存不足的时候,泄漏的这部分内存页面根据最近最少使用机制,当然优先被放进 swapfile 了。而且因为内存泄漏之后,程序逻辑里没办法访问它们,所以它们也没有机会再被放进物理内存中。 硬盘上多了一段永远不会用到的数据,大多数时候当然不会让系统变卡。当然,新程序启动的时候,或者程序打开一些文件的时候,系统把物理内存中的数据(也包括泄漏的部分)写到硬盘里,这时候会比以往要慢一些。 但因为大多数时候启动一个程序或者打开一个比较大的文件都得花上不少时间,稍微多个一两百毫秒,用起来根本没什么感觉。所以并不能根据“内存用了这么多还不卡”的主观感受来判断是不是内存泄露。 至于我有没有证据证明内存没有回收,你可以关注一下硬盘可用空间的大小,硬盘的写入量统计信息,以及为什么这个论坛里不少用户一星期要重启一次电脑。当然也有人不信,觉得 smartctl 的数据是假的。那就没有什么办法了。 |
67
LotusChuan 2022-04-08 14:56:35 +08:00
@ShadowPower
1.我本来就是要是说内存申请不用挺正常,这点你说会在内存不够的时候杀掉,确实,但是前提是内存不够。但是这是建立在内存不够的基础上,在系统觉得内存够的时候它留着也很合理,这时候你外部看着就是没回收,虽然你觉得内存不够了。此外我举这个例子的目的也已经达到了,就是说内存分配了不用很正常。 2.没,我说的虚表是 Page table ,内核给每个进程分配一个 Page table 我觉得起码是共识,如果一个进程实际使用的物理内存有一块映射到 0 上,另一块映射到 0xFFFFFFFFFFFF(12 个 F),那假设 macOS 一个页占 4k ,它实际上也就占了 8k ,然而如果 macOS 计算内存的方式是计算虚表内存空间的范围,那它算出来就是 2 ^ 36 ,也就是 64g 。 总之我想说的就是 macOS 内存分配逻辑它没告诉你,源码也没有,那它 swap 想怎么用怎么用,那个活动监视器想说占了多少内存就占了多少,你点个进程进去能看见 4 个内存的数据,从 MB 到 TB 不等。它真分配多少内存,说直接点,就是个黑盒,它就是骗你你也不知道啊。 |
68
ShadowPower 2022-04-08 16:36:18 +08:00
@LotusChuan 苹果确实没有什么文档来描述“内存”这一列数值的实际含义,不过,把整个页表的地址范围都显示出来并没有什么实际意义。从用户的角度来讲,用户看到这个数值,点一下排序,就可以知道什么程序占用了比较多的内存。结合用户的需求,就可以知晓,关掉哪个程序能够尽可能地腾出内存空间。
苹果倒是有一篇文章讲了内存系统的设计,但并没有说明“活动监视器”中“内存”这一列的含义。 https://developer.apple.com/library/archive/documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html 这些程序确实是个黑盒,然后还没有相关的资料。但这反而让人感觉更不靠谱了。若你开发的软件真的存在内存泄漏的问题,也许你都没办法意识到这个问题存在。 然而几年前的 macOS 虽然长时间不重启也会出现一些小毛病,但各种系统进程的内存使用量数值也没有像现在一样夸张。我不敢保证它一定有某种问题,但我不觉得它没什么问题。 我只想说从“不卡,不影响使用”的角度来证明它没问题,其实不靠谱。真正的内存泄漏,在使用固态硬盘的情况下,还真的可能感觉不到“卡”。 那种卡顿感更多是机械硬盘带来的,Windows Vista 之后的 Windows 都有一项叫做“Ready Boost”技术,宣传你可以使用一个 U 盘(并没有多高的性能要求,只需要 USB 2.0 ,如今听起来已经有点离谱了)来提升电脑性能。因为 U 盘的随机读写性能好过机械硬盘。 当你的电脑有 SSD 的时候,这个功能的界面上就会显示,你的电脑已经不需要它了。 |
69
dier 2022-04-08 16:45:06 +08:00
内存不就是拿来用的吗?如果占用 1% 空闲 99%,那要这么多内存空间有啥意义
|
70
LotusChuan 2022-04-08 17:02:49 +08:00 via iPhone
@ShadowPower
苹果确实做了起码是类似于虚内存空间范围当内存的事情,你可以看一下进程数据,四个数据里面有一个明显很大,超过了物理内存和 swap 的总和,所以它到底怎么算内存还是不清楚。 到这里我说的一切你都没否认了,因为我本来就想说内存管理逻辑不清楚,所以看内存压力就行了。至于你提出的有没有内存泄漏,电脑卡是什么原因,你说这么多和我的观点也没什么交集,我不关心。就这样吧,别浪费时间了。 |
71
lutla 2022-04-08 17:13:31 +08:00
年经话题,建议焦虑症患者多焦虑一下自己的钱包房子车子
|
72
ShadowPower 2022-04-08 17:18:06 +08:00
@LotusChuan 我没有找到“超过了物理内存和 swap 的总和”的那一项。未分配的内存本来就不应该列出来。
如果你是指 kernel_task 的“实际内存(Real Mem)”很大的话,那是因为虚拟内存本身就是建立在这上面的,当然会显得很大。 我并不觉得是“显示有问题,实际没有问题”。只不过我只能从其他现象推测出可能存在内存泄漏问题,而不能向你保证它一定是这个问题。 |
73
binge921 2022-04-08 17:18:44 +08:00
要是工具能帮你赚钱 还是 64 玩的舒服
|
74
ShadowPower 2022-04-08 17:21:43 +08:00
@LotusChuan 我想到了一点,如果你看到一个进程的内存占用超过了系统的物理内存+交换的大小。那是因为还有“内存压缩”这一项,它算进了物理内存的大小里,而且是压缩之后的大小。
但进程的内存显示的是这部分数据解压缩之后的大小。 |
75
chenzheyu 2022-04-08 17:56:54 +08:00
WindowService 常年没超过 2g ,一般都是 1.5 到 1.7 之间飘
|
76
LotusChuan 2022-04-08 18:20:27 +08:00
@ShadowPower
我现在 Activity Monitor 点进去 WindowServer ,Memory 下有四个 Size ,其中第二个 Virtual Memory Size 大小是 40G ,然而我现在用的笔记本 Physical Memory 只有 16G ,加上 Swap 也就 17G ,所以很明显它用了 Virtual Address Range 来计算 Memory ,而这个得出的最多只是 Virtual Memory Range ,这还只是建立在它纯粹用 Virtual Address Range 来计算的基础上,因为我不知道它内存算法是什么,所以这也不一定是纯粹的 Virtual Memory Range 。更不用说其他的三个数据了,完全就是黑盒,四个数据没有一个是等于 Activity Monitor 里面显示的 WindowServer 的内存。所以你说我能靠 Activity Monitor 显示的“内存”知道这个应用到底用了多少内存吗?真别纠结了,看下内存压力就得了。 最后,我的观点已经全部证明过了,你说的内存泄漏 blabla 的我真不关心,真别浪费时间了。 |
77
jellyspot 2022-04-08 22:33:00 +08:00
内存不就是拿来用的吗?难道是拿来看的?
|
78
JackyCDK 2022-04-09 00:29:44 +08:00
买了 32G 回来开 pd 反正一直都是在 80%占用左右就再也没涨上去了,内存这玩意不就是拿来用的吗
|
79
kaz10025 2022-04-09 11:01:35 +08:00
关闭 promotion 你会发现新世界
|
80
MsHan 2022-04-09 22:40:26 +08:00
Google Chrome helper -- 这个是真流氓啊,我刚看了下列表里有一堆这个名字
telegram 和 微信占用差不多,都是两三百 MB |
81
sickoo OP 这个 helper 很棒,挂着两个油管页面外加一个 b 站,已经达到了 1.5G ,鼠标卡顿漂移了。
|
82
GTX01 2022-06-27 21:07:27 +08:00
刚开了三个网页,Safari network 这个进程一下就占了 7 个 g 的内存。。
|