手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2021年05月25日的文章

M1关闭虚拟内存

之所以会有这个标题,是因为今天突然发现,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共用内存,极有可能这里被占用了(瞎机把猜的)。

刚才参考的文章里也提到了:

XML/HTML代码
  1. 1.启动虚拟内存(默认):不管怎么样都会使用虚拟内存,除非你的内存特别大,目的是为了防止在突然打开一个超大的文件时,导致需要重新处理内存与虚拟内存。所以默认使用虚拟内存,尽量让出大部分物理内存。  
  2.   
  3. 2.关闭虚拟内存(需要手动):默认不使用虚拟内存,但经过我观察,似乎是超过预警阀值(内存GB-2GB的样子)就会开始使用虚拟内存,我猜测目的是为了系统的稳定性  
  4.   
  5. 也就是说,即使关闭了虚拟内存,也不会影响系统稳定性,因为超过预警阀值又会继续使用虚拟内存。但关闭后就可以在没必要的情况下使用虚拟内存。其实效果也不是很好,因为我打开电脑一定就是打开idea搞开发,所以每天都还是会使用大量虚拟内存。  

 

好吧,忍忍了

---

再记:chrome啥的,真的就别关GPU了,如果关了GPU,你会发现CPU占用挺高(嗯,我是指M1上面),Google Chrome Helper(Renderer)一共占用将近25%以上的CPU,启动硬件加速后,就不占用了,只是内存会稍多一点