之所以会有这个标题,是因为今天突然发现,16G的内存的机器,实际使用13G左右的内存,但虚拟内存居然使用了14G左右,要知道,虚拟内存可是用的硬盘,再加上M1硬盘门的事件,所以我就更紧张了。(再紧张半年吧,等M2出来换M2,真心不喜欢touchbar)
查了一些资料,可以通过unload配置文件来进行处理,但直接运行的话会报没有权限 ,需要csrutil disable,然后重启系统才能unload,于是
1、恢复模式:csrutil disable
2、重启:sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist,然后运行sysctl vm.swapusage,可以看到几乎为0(因为极有可能一启动就用了虚拟内存)
3、重启进入恢复模式:csrutil enable
---
M1进恢复模式不再是cmd+r了,是先按电源 启动电脑,然后长按电源 ,会有提示:长按电源直到出现菜单,然后出现这个提示之后可以关闭,后面就可以进入恢复模式了。
为什么还要csrutil enable?这个之前应该有提过,如果disable的话,iphone的APP就无法运行了。同时还会有一些奇怪的小问题,各种作妖。
---
文章参考:https://blog.csdn.net/qq_29496469/article/details/114222398
后记:
即使关闭了,启动后,还是用了虚拟内存,确实少了一点,大概2~3G左右,可能是因为:chrome开了GPU,code也开了GPU,而M1是CPU和GPU共用内存,极有可能这里被占用了(瞎机把猜的)。
刚才参考的文章里也提到了:
- 1.启动虚拟内存(默认):不管怎么样都会使用虚拟内存,除非你的内存特别大,目的是为了防止在突然打开一个超大的文件时,导致需要重新处理内存与虚拟内存。所以默认使用虚拟内存,尽量让出大部分物理内存。
- 2.关闭虚拟内存(需要手动):默认不使用虚拟内存,但经过我观察,似乎是超过预警阀值(内存GB-2GB的样子)就会开始使用虚拟内存,我猜测目的是为了系统的稳定性
- 也就是说,即使关闭了虚拟内存,也不会影响系统稳定性,因为超过预警阀值又会继续使用虚拟内存。但关闭后就可以在没必要的情况下使用虚拟内存。其实效果也不是很好,因为我打开电脑一定就是打开idea搞开发,所以每天都还是会使用大量虚拟内存。
好吧,忍忍了
---
再记:chrome啥的,真的就别关GPU了,如果关了GPU,你会发现CPU占用挺高(嗯,我是指M1上面),Google Chrome Helper(Renderer)一共占用将近25%以上的CPU,启动硬件加速后,就不占用了,只是内存会稍多一点