MacOSXRAMDisk(記憶體盤)Shell
本文提供改進版的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=4if [ "$1" != "" ]; thencapacity=$1fi# default label="RamDisk"label="RamDisk"if [ "$2" != "" ]; thenlabel="$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程式