macOS 是什么原因让软件占用内存会持续上升?

2023-10-24 10:24:09 +08:00
 FaiChou

目前发现很多软件只要不关掉,内存占用就会慢慢升高。

比如之前版本的阿里云盘客户端,因为有同步文件夹的需求,就一直开着,但很少用它,一开始占用也就一两百 MB ,过几天后会到五六百 MB 。现在的阿里云盘客户端已经优化了这个问题,开再长时间也只有 200 多 MB 。

但我发现很多应用还是有这样的问题,比如 nvim ,打开一个很简单项目,一开始内存占用只有几十 MB ,过了几天,内存占用已经到达 500MB 。

我之前也开发过一款 macOS 的粘贴板工具,需要后台运行着,一开始内存占用只有几十 MB ,但过几天就会涨到 240 左右,经过调试也没有发现明显的内存泄漏。

而且似乎这个内存占用有个上限,即使在后台停留的时间更久,内存占用也不会再上升了。

所以不清楚这是开发者的内存管理问题还是 macOS 系统的问题。但阿里云盘已经优化了这个问题,估计是可以 fix 或者有个 workaround 的。

2112 次点击
所在节点    macOS
10 条回复
ST0RMTR00PER
2023-10-24 11:17:49 +08:00
Chrome
LTuser
2023-10-24 12:24:39 +08:00
前几天做 ppt ,边摸鱼边做,去吃饭也不关,做了一天。晚上一看占用:6g 多
equationzhao
2023-10-24 12:57:06 +08:00
activity monitor 还有一项是实际内存
NerbraskaGuy
2023-10-24 13:12:16 +08:00
我这边最烦的是 vscode 插件内存占用经常飙升,按网上说的方法排查半天也没法解决...
mrgeneral
2023-10-24 13:40:41 +08:00
内存:实际内存+缓存文件
实际内存:真实占用的物理内存

用的时间越久,缓存文件这一项就会变高;有些软件有时候会内存泄漏把实际内存拉高。
smark
2023-10-24 13:48:12 +08:00
默认策略会一直占内存,只要没有达到回收阈值就会一直占下去,就是想把软件所有的运行时内容都缓存到内存中,直到内存不够用才会有回收机制去干预。
所以不要管内存占了多少,不卡就行了,真的内存居高不下且影响使用,再看看是不是有软件存在溢出之类的问题。
Youngy996
2023-10-24 13:48:24 +08:00
我 wps 放一晚上搞到过 30 多个 g 内存占用…
lishunjie
2023-10-24 16:31:35 +08:00
我用 Sketch 连开着 3 天,文件大概 30MB ,提示我内存不足,好家伙,内存+缓存吃了 100 多 G 。
实际上你看内存压力就可以。
BernieDu
2023-10-25 07:15:56 +08:00
warming launch 吧,这个技术在 iOS15 后也被引入到了 iPhone ,会学习你的使用习惯,把你常用的 app 进程提前写入内存并尽可能占满内存,用久了占用内存只有一部分是实际使用的还有一部分是类似睡眠文件的东西吧,不过别的 app 有需求会让出来
noahhhh
2023-10-25 10:14:41 +08:00
macOS 系统肯定有问题,我每次遇到的泄露的软件都不一样,果子自己软件也会这样,什么壁纸,访达,音乐,播客等等,放在不动就能占几十上百 G

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

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

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

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

© 2021 V2EX