在 macOS 系统上,配置外置 SSD 存储 swapfile 以减少内置 SSD 的写入量 2024-11-12 作者 C3P00 以下是一个大致的流程,展示如何将 macOS 的交换文件(swapfile)移动到外置 SSD 上。 🛠️ 1. 准备外置 SSD 确保你的外置 SSD 已经连接到 Mac,并且格式化为 APFS 或 HFS+ 文件系统。 打开 磁盘工具 (Disk Utility),选择你的外置 SSD,点击抹掉(Erase),并选择 APFS 或 HFS+ 作为文件系统。 为磁盘分配一个固定的名称,比如 ExternalSSD,以便后续命令中使用。 🛠️ 2. 禁用系统的默认交换文件 macOS 默认会将交换文件保存在 /private/var/vm/ 目录下。为了将其移动到外置 SSD,首先需要禁用现有的交换机制。 打开终端:在 Finder 中,前往 应用程序 > 实用工具,打开 终端。 禁用动态分页器(Dynamic Pager):输入以下命令并按下回车键禁用当前的交换机制: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist 该命令会停止 macOS 的动态分页器服务,系统将不再使用默认的 swapfile。你需要输入管理员密码进行授权。 删除已有交换文件(可选):要删除现有的交换文件,可以执行以下命令: sudo rm /private/var/vm/swapfile* 🛠️ 3. 创建新的交换文件在外置 SSD 上 创建交换文件目录:在外置 SSD 上创建一个专门存放交换文件的目录。例如: sudo mkdir /Volumes/ExternalSSD/Swap 创建新的交换文件:使用 dd 命令在该目录下创建一个交换文件(此处假设你希望创建一个 4GB 大小的交换文件): sudo dd if=/dev/zero of=/Volumes/ExternalSSD/Swap/swapfile bs=1m count=4096 该命令会在 /Volumes/ExternalSSD/Swap/ 目录下生成一个 4GB 的空白交换文件。 设置交换文件权限:为了安全性,确保交换文件的权限设置为只有 root 用户可以读写: sudo chmod 600 /Volumes/ExternalSSD/Swap/swapfile 启用交换文件:使用以下命令启用该交换文件: sudo /sbin/mkswap /Volumes/ExternalSSD/Swap/swapfile sudo /sbin/swapon /Volumes/ExternalSSD/Swap/swapfile 🛠️ 4. 修改启动配置以持久化更改 默认情况下,macOS 在重启后会重新启用系统的动态分页器机制。为了确保系统每次启动时都使用外置 SSD 上的交换文件,你需要修改启动脚本。 编辑 /etc/fstab 文件:/etc/fstab 文件可以用来指定文件系统挂载点和启动时的其他配置。使用以下命令打开该文件: sudo nano /etc/fstab 添加条目:在文件中添加以下内容,指定外置 SSD 上的交换文件路径: /Volumes/ExternalSSD/Swap/swapfile none swap sw 0 0 保存并退出:按下 Ctrl + O 保存文件,然后按 Ctrl + X 退出编辑器。 🛠️ 5. 恢复系统默认交换行为(如有需要) 如果你决定不再使用外置 SSD 作为系统交换文件的存储位置,可以通过以下步骤恢复 macOS 的默认交换机制。 重新启用动态分页器:使用以下命令重新启用系统的动态分页器服务: sudo launchctl load /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist 删除自定义交换文件(可选):如果不再需要外置 SSD 上的交换文件,可以使用以下命令删除它: sudo rm /Volumes/ExternalSSD/Swap/swapfile 📝 总结 通过上述步骤,您可以将 macOS 的交换文件存储位置移动到外置 SSD,以减少内置 SSD 的写入量。请在进行这些更改时谨慎,并确保外置 SSD 的可靠性,以避免数据丢失或系统崩溃。如果遇到问题,可以通过恢复默认的交换配置来解决。
以下是一个大致的流程,展示如何将 macOS 的交换文件(swapfile)移动到外置 SSD 上。
🛠️ 1. 准备外置 SSD
确保你的外置 SSD 已经连接到 Mac,并且格式化为 APFS 或 HFS+ 文件系统。
Disk Utility
),选择你的外置 SSD,点击抹掉(Erase),并选择 APFS 或 HFS+ 作为文件系统。ExternalSSD
,以便后续命令中使用。🛠️ 2. 禁用系统的默认交换文件
macOS 默认会将交换文件保存在
/private/var/vm/
目录下。为了将其移动到外置 SSD,首先需要禁用现有的交换机制。输入以下命令并按下回车键禁用当前的交换机制:
该命令会停止 macOS 的动态分页器服务,系统将不再使用默认的 swapfile。你需要输入管理员密码进行授权。
要删除现有的交换文件,可以执行以下命令:
🛠️ 3. 创建新的交换文件在外置 SSD 上
在外置 SSD 上创建一个专门存放交换文件的目录。例如:
使用
dd
命令在该目录下创建一个交换文件(此处假设你希望创建一个 4GB 大小的交换文件):该命令会在
/Volumes/ExternalSSD/Swap/
目录下生成一个 4GB 的空白交换文件。为了安全性,确保交换文件的权限设置为只有 root 用户可以读写:
使用以下命令启用该交换文件:
🛠️ 4. 修改启动配置以持久化更改
默认情况下,macOS 在重启后会重新启用系统的动态分页器机制。为了确保系统每次启动时都使用外置 SSD 上的交换文件,你需要修改启动脚本。
/etc/fstab
文件:/etc/fstab
文件可以用来指定文件系统挂载点和启动时的其他配置。使用以下命令打开该文件:在文件中添加以下内容,指定外置 SSD 上的交换文件路径:
按下
Ctrl + O
保存文件,然后按Ctrl + X
退出编辑器。🛠️ 5. 恢复系统默认交换行为(如有需要)
如果你决定不再使用外置 SSD 作为系统交换文件的存储位置,可以通过以下步骤恢复 macOS 的默认交换机制。
使用以下命令重新启用系统的动态分页器服务:
如果不再需要外置 SSD 上的交换文件,可以使用以下命令删除它:
📝 总结
通过上述步骤,您可以将 macOS 的交换文件存储位置移动到外置 SSD,以减少内置 SSD 的写入量。请在进行这些更改时谨慎,并确保外置 SSD 的可靠性,以避免数据丢失或系统崩溃。如果遇到问题,可以通过恢复默认的交换配置来解决。