码迷,mamicode.com
首页 > 系统相关 > 详细

Mac OS X RAM Disk(内存盘) Shell

时间:2014-12-12 19:18:21      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:ramdisk   memory   os x   

本文提供改进版的Mac OS X RAM Disk(内存盘)创建程序和实用说明。

顾虑

Mac迅雷下载时IOPS太高,可能是没使用缓存,这导致磁盘吱吱地响,因此担心磁盘很快报废,而不能安心下载。作者已多次向其开发者提议,但至今未收到答复。

好在本机的内存空间宽裕,突然想到内存盘这一概念。

探索

试用了TmpDisk一段时间,效果还行。但细心的同学会发现:在活动监视器/磁盘页中,进程TmpDisk的显示的写入数据量为实际内容写入数据量的两倍以上。比如:以10M网速全速下载,预计连续写入1MiB/s~1.25MiB/s,但TmpDisk的连续写入却达到3MiB/s~4MiB/s。

后来参考了Eyon的文章【在Mac OS X中创建RamDisk用作缓存目录】[1],提取了文章中方法二所介绍的Shell程序,并在其基础上持续改进得出以下Shell实用程序。现分享之:

分享

1. 编码

编写以下代码

#!/bin/sh

# usage:  $ramdisk.sh [capacity=4] [label=RamDisk]

# default capacity=4(gb)
capacity=4
if [ "$1" != "" ]; then
	capacity=$1
fi

# default label="RamDisk"
label="RamDisk"
if [ "$2" != "" ]; then
	label="$2"
fi

# echo "capacity=$capacity\nlabel=$label"

# 1(capacity)=2097152(ram)
ram=$(($capacity*2097152))

if ! test -e "/Volumes/$label" ; then
    diskutil erasevolume HFS+ "$label" `hdiutil attach -nomount ram://$ram`
fi

2. 安装

将文件保存到/usr/local/bin/ramdisk.sh,并启用执行权限

$chmod 755 /usr/local/bin/ramdisk.sh

3. 使用

默认创建4GB,卷标为RamDisk的内存盘

$ramdisk.sh

创建8GB,卷标为TmpDisk的内存盘

$ramdisk.sh 8 TmpDisk

4. 自动化

若需在系统登陆后自动创建内存盘,可执行以下步骤实现:
a. 根据物理内存将内存盘默认容量修改成合适的数字
b. 打开系统偏好设置,选择用户与群组,当前用户,登录项。在列表中添加前面创建的ramdisk.sh Shell程序

参考

[1] - 在 Mac OS X 中创建 RamDisk 用作缓存目录

Mac OS X RAM Disk(内存盘) Shell

标签:ramdisk   memory   os x   

原文地址:http://blog.csdn.net/flashdelover/article/details/41894051

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!