OS X 开启 RamDisk 来为 Safari 和 Xcode 加速

2017-04-30 10:28:34来源:https://www.logcg.com/archives/2725.html作者:落格博客人点击

最近更新:27th 四月, 2017


随着 Xcode 的版本升级,速度 越来越慢 ,尤其一言不合就“ 白板 ”的问题相信大家都会有遇到。





Xcode 经常性丢失代码高亮,俗称“白板”


这是非常影响开发效率的事情。如果有可能,那么我们将 Xcode 的缓存文件放到内存,速度应该快很多。(虽然现在 rmbp 的 ssd 已经十分的快速了,但比起内存,还是差的很远—— 对于机械硬盘的老机器来说,提速就会更加明显了。


——还记得 Windows 的那个 RamDisk 吗?其实 Linux 也有,而且不需要第三方的软件,一条自带的命令就可以完成了!


我们的目标就是从内存里划出一部分空间,把它格式化为硬盘挂载的系统当中,专门用来放缓存!


要注意的地方

既然是内存,那么关机内容是肯定会 丢失 的,所以我们仅仅用它来存放 可以再生成 的缓存,可以再下载的内容也不应该放在里边。 比如OS X 里的 helpd 下载的帮助文件,就不应该放在里边


你的内存总空间是多少,分配的内存硬盘体积就应该相应地改变大小,毕竟将内存划走了固定的一块,比如我这里用的是1GB,那么我原本的8GB内存就变成了7GB大小。


动手做

打开 OS X 自带的脚本编辑器 ,新建一个文档,其它默认,然后在里边写入:


do shellscript "
if ! test -e /Volumes//"Ramdisk/" ; then
diskutilerasevolumeHFS+ /"RamDisk/" `hdiutilattach -nomountram://2097152`
fi
mkdir -p /Volumes/Ramdisk/Library/Developer/Xcode
mkdir -p /Volumes/Ramdisk/Library/Caches/Google
mkdir -p /Volumes/Ramdisk/Library/Caches/com.apple.Safari/fsCachedData
"

然后把它保存成 . app 格式:





把脚本保存成一个应用


双击执行就可以自动挂载一个叫做“RamDisk”的硬盘了,这个硬盘里的内容会在电脑重启后清空,大小是1GB,如果你把它推出了,那么里边的东西也会丢失,所以务必存放缓存文件。


生成之后,我们就来把其它应用的缓存替换过来,对于 Xcode 来说,你可以在应用里直接设置,不过我们这里统一使用目录替换的方式,好处是一些不支持配置的比如 Safari ,我们也能手动把它的缓存目录替换到内存中,对应用透明。


这里我们替换三个应用,首先退出它们:Safari Chrome Xcode


然后删除这些应用的缓存目录:


sudorm -rf ~/Library/Developer/Xcode/DerivedData
sudorm -rf ~/Library/Caches/com.apple.Safari
sudorm -rf ~/Library/Caches/Google

这些目录里的文件都是可以随时删除的,你重新打开就会自动建立,你的数据都不会丢失。


然后根据我们在内存硬盘中建立好的目录来创建目录链接,就像是 Windows 里的快捷方式,但比那个好用多了:


ln -s /Volumes/RamDisk/Library/Developer/Xcode ~/Library/Developer/Xcode/DerivedData
ln -s /Volumes/RamDisk/Library/Caches/com.apple.Safari ~/Library/Caches/com.apple.Safari
ln -s /Volumes/RamDisk/Library/Caches/Google ~/Library/Caches/Google

这个目录替换是一次设置永久生效的,所以,我们也应该让这块内存硬盘在开机的时候自动挂载,那么只需要在“ 系统偏好设置 ”当中-“ 用户与群组 ”-“ 登陆选项 ”里加入之前创建的app文件即可。


删除与恢复

如果要删除整个方案,那么只需要先去下面的目录把创建的链接文件删除,再去掉那个脚本的启动项就好了:


sudorm -rf ~/Library/Developer/Xcode/DerivedData
sudorm -rf ~/Library/Caches/com.apple.Safari
sudorm -rf ~/Library/Caches/Google

性能与效果

如果你仅仅做一般的 Xcode 开发,那么 1GB 的空间应该是足够使用的了,这样一来 Xcode 的速度会快很多,不再那么容易就白板了。另外,对于 Chrome 和 Safari 的效果十分的明显。


如果你像我一样经常用 Xcode 来回切换多个开发项目并编译,那么可能会遇到空间塞满的情况,这时候你要注意这个“内存硬盘”不会自己释放空间,所以要手动进去删除一下 Xcode 生成的缓存文件,然后再编译。


往好的方面想,即使重新生成缓存文件,速度也还是比固态要快的,还不会降低硬盘的读写寿命。


延伸阅读

如何让 Xcode 在读写上提速100倍?


Mac OS X 开启原生自带虚拟内存盘(Ramdisk)


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台