专栏首页张志敏的技术专栏在 Mac OS X 中创建和使用内存盘

在 Mac OS X 中创建和使用内存盘

在 Mac OS X 中创建和使用内存盘

在 Windows 系统上一直使用 ImDisk 创建内存盘作为缓存, 将系统临时目录、 浏览器缓存等设置到内存盘, 这样做的好处是很明显的:

1、 内存盘不用定时清理, 系统重启就自动清空 2、 读写内存的速度是非常快的, 程序运行速度也会加快很多

现在转到 Mac OS X 平台, 当然也要使用内存盘了, 在 OS X 系统上, 创建和使用内存盘比较容易的, 而且不需要借助第三方软件, 只是设置稍微繁琐一些, 在 OS X 系统上创建和使用内存盘的步骤如下:

1、 打开 AppleScript Editor(找不到的可以直接用 Spotlight 搜索);

2、 输入下面的脚本:

do shell script "
if ! test -e /Volumes/\"Ramdisk\" ; then
diskutil erasevolume HFS+ \"RamDisk\" `hdiutil attach -nomount ram://1048576`
fi
"

注意: ram://1048576 表示内存盘大小, 对应 512M (1024 * 2 * 512) 的内存盘, 如果需要自定义大小, 根据这个公式计算。 1G 就要 1024 * 2 * 1024 , 2G 依次类推。 内存盘不是越大越好, 也不是越小越好, 要根据自己的内存容量选择合适的大小。 我的 MBP 4G 内存, 创建 512M 内存盘。

3、 将这个脚本保存为应用程序, 如下图所示:

保存好之后, 可以先执行一下, 看有没有挂载一个名称为 RamDisk 的内存盘, 加载好了如下图所示:

4、 接下来需要把缓存目录设置到内存盘, 打开一个命令行窗口, 在命令行窗口输入下面的命令:

sudo rm -rf ~/Library/Caches
ln -s /Volumes/RamDisk/ ~/Library/Caches

先删除自己用户目录下的缓存目录,再将 ~/Library/Caches 链接到 /Volumes/RamDisk/ , 完成之后测试一下, 随便打开一个程序, 看看 RamDisk 下面有没有生成对应的临时目录, 如果有, 就表示成功了, 如果没有, 就要再自己检查一下步骤了。

5、 将 RamDisk 设置为启动项, 打开 System Preference/Users & Groups , 选择自己的用户名, 点击 Login Items , 添加第 2 步保存的应用即可。

注意问题

1、 系统运行中不要 unmount ramdisk , 否则可能会出现不可预料的后果; 2、 如果用的是 SSD 硬盘, 就不要再设置内存盘了, SSD 的速度已经很快了;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在安卓手机上通过 Termux 运行编译/运行 .NET 应用

    Termux 可谓安卓上的开发神器, 注意, 不是开发安卓应用, 是在安卓手机上做开发的神器, 它的官方简介如下:

    beginor
  • 使用 OWIN 搭建 OAuth2 服务器

    很多知名网站都采用支持OAuth2认证, 允许第三方应用接入, 客户端接入 OAuth2 服务器这方面的资料已经很多了, 但是关于怎么搭建自己的 OAuth 服...

    beginor
  • 从 OAuth2 服务器获取授权授权

    搭建好了基于 OWIN 的 OAuth2 服务器之后, 接下来就是如何从服务器取得授权了, 下面就介绍如何实现 OAuth2 定义的四种授权方式。

    beginor
  • Java 进程内存分布

    一般 Unix 系统中,用户态的程序通过malloc()调用申请内存。如果返回值是 NULL, 说明此时操作系统没有空闲内存。这种情况下,用户程序可以选择直接退...

    数据仓库践行者
  • Linux内存被吃掉了,它去哪里了?

    在Windows下资源管理器查看内存使用的情况,如果使用率达到80%以上,再运行大程序就能感觉到系统不流畅了,因为在内存紧缺的情况下使用交换分区,频繁地从磁盘上...

    小小科
  • Linux吃掉了我的内存

    在Windows下资源管理器查看内存使用的情况,如果使用率达到80%以上,再运行大程序就能感觉到系统不流畅了,因为在内存紧缺的情况下使用交换分区,频繁地从磁盘上...

    马哥linux运维
  • 实战PerfDog优化小游戏性能

    背景: 我们的引擎是Egret,使用的是原生的EUI,转微信小游戏; 工程第一版出来后使用PerfDog测试一波数据。结果发现很多问题,本文主要分两部分

    WeTest质量开放平台团队
  • Spark Task 内存管理(on-heap&off-heap)

    在之前的文章中(Spark 新旧内存管理方案(上)及Spark 新旧内存管理方案(下)),我从粗粒度上对 Spark 内存管理进行了剖析,但我们依然会有类似这样...

    codingforfun
  • 【编程基础】C语言内存使用的常见问题

    所讨论的“内存”主要指(静态)数据区、堆区和栈区空间。数据区内存在程序编译时分配,该内存的生存期为程序的整个运行期间,如全局变量和static关键字所声明的静态...

    程序员互动联盟

扫码关注云+社区

领取腾讯云代金券