禁用 MacOS 的 Swap 分区

XiaoCai 's Blog · · 2545 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Loading...

为什么要这样干?

直接看机器配置吧

机器配置

机器配置

就在写下这篇文章的当天,我的电脑已经连续一个月没关机了(忘记留 uptime 截图了),在当时我的内存占用大概是这样的。

内存占用

内存占用

因为当时直接想着加速电脑了,直接 sudo kill 1 了,忘记留截图了。

图源网络,侵删。

众所周知,Swap 是将磁盘虚拟为内存来用的,所以速度肯定比不上扎扎实实的内存的。这样一来,不管我操作啥,电脑都感觉卡卡的,就像我用了下我家 15 年前的那个戴尔本一样。而且以前早就有禁用 Swap 的想法了,这次就直接去实施了。

禁用 Swap

如果你的物理内存真的不够,禁用 Swap 可能会导致程序被内核 OOM(Out Of Memory) Kill 掉,甚至导致内核崩溃。请自行斟酌风险。

1.0 禁用 SIP

从 MacOS 10.11 开始,苹果就在 MacOS 里加上了 SIP(系统完整性保护 System Integrity Protection)这导致了要想修改系统文件就必须进入恢复模式去关闭 SIP,否则即使是 root 用户也只会返回 Operation not permitted。所以,必须要关闭 SIP。

  1. 重新启动 Mac 并按住键盘上的 Command(⌘)+ R
  2. 系统可能会提示您输入密码,例如固件密码,或这台 Mac 的管理员用户的密码。请输入要求的密码以继续。
  3. 在实用程序菜单中,选择“终端”。
  4. 输入csrutil disable 并回车
  5. 在菜单中,点击重新启动来重启电脑。

1.1 禁用 Swap

  1. 先使用 sysctl -a vm.compressor_mode 来检查现在的内存模式,默认的数字应该是 4
    • 1 代表不压缩内存且不启用 swap。
    • 2 代表压缩内存但不启用 swap。
    • 3 代表不压缩内存但启动 swap。
    • 4 代表着压缩内存并启用 swap。
  2. 输入 nvram boot-args="vm_compressor=2" 即可将内存管理模式更改为压缩内存但不启用 swap

1.2 启用 SIP

由于安全原因,这里建议重新启用 SIP。如果想要启用的话,直接在终端中输入 csrutil enable 即可。

禁用其他系统服务

1.0 禁用 mds_stores

mds 是 Spotlight的一部分。也就是你按 Command (⌘) + 空格 弹出来的那个东西。它为所有文件建立索引,以便在你要搜索文件的时候快速的找到你想要的东西。因为我的 Spotlight 已经完全被 Alfred 替代,所以可以禁用它以节省CPU和内存。

  • 在终端中输入 sudo mdutil -a -i off 即可禁用索引。
  • 若想恢复索引,需要在终端中输入 sudo mdutil -a -i on
最后修改:2020 年 12 月 31 日
给点.jpg

本文来自:XiaoCai 's Blog

感谢作者:XiaoCai 's Blog

查看原文:禁用 MacOS 的 Swap 分区

2545 次点击  
加入收藏 微博
0 回复
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传