之前本站報道過在Mac OS X 下使用Intel X25-M G2 80G SSD做的相關(guān)系統(tǒng)優(yōu)化,今天我們只討論系統(tǒng)要做哪些優(yōu)化命令。SSD硬盤以其優(yōu)異的性能,已經(jīng)在不少型號的Mac筆記本上得到了應(yīng)用,本文以Snow Leopard10.6為例,詳細說明了在蘋果系統(tǒng)中使用SSD時的優(yōu)化。
禁用冬眠 (hibernate) 模式以節(jié)省空間
由于SSD硬盤價格較高,主流的SSD容量都較少,而hibernate模式幾乎不會用到,禁用這種模式能節(jié)約大致2G的空間。Hibernate模式用于在 Mac 耗盡電池時,自動進入“冬眠”模式,并將內(nèi)存中的所有內(nèi)容寫入磁盤,下次喚醒后從這些內(nèi)容恢復(fù)狀態(tài)。歡迎查看。
禁用Hibernate的相關(guān)命令如下:
- pmset -g | grep hibernate #查看當(dāng)前的hibernate模式
- ls -lh /var/vm/sleepimage #查看sleepimage文件大小
- sudo pmset -a hibernatemode 0 #禁用hibernate
- sudo rm /var/vm/sleepimage #刪除sleepimage文件
今后如果需要打開hibernate模式,再將該值設(shè)為默認的就可以了:
- sudo pmset -a hibernatemode 3 #設(shè)置hibernatemode為默認值3
禁用文件系統(tǒng)的最后訪問時間屬性
該屬性在平時使用的過程中,幾乎不會用到,而打開“最后訪問時間”屬性會導(dǎo)致每一次訪問一個文件時,有寫操作產(chǎn)生,所以,關(guān)閉該屬性可減少大量不必要的寫操作。
具體方法為,在 /Library/LaunchDaemons 目錄中創(chuàng)建名為com.nullvision.noatime.plist 的文件,內(nèi)容為:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
- "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- <key>Label</key>
- <string>com.nullvision.noatime</string>
- <key>ProgramArguments</key>
- <array>
- <string>mount</string>
- <string>-vuwo</string>
- <string>noatime</string>
- <string>/</string>
- </array>
- <key>RunAtLoad</key>
- <true/>
- </dict>
- </plist>
這樣,重啟系統(tǒng)后,將以 noatime 方法掛載硬盤,不會再寫入最后訪問時間屬性。
重啟用,用 mount | grep " / " 可看到掛載的硬盤里多了一個noatime屬性。
- $ mount | grep " / "
- /dev/disk0s2 on / (hfs, local, journaled, noatime)

使用內(nèi)存來寫入臨時文件
通過使用內(nèi)存來代替系統(tǒng)原有的tmp目錄,這樣,大量寫入tmp的臨時文件就直接寫在內(nèi)存里,減少直接對磁盤的操作。
在 /var/root 目錄中創(chuàng)建名為 ramfs.sh 的文件,內(nèi)容為:
- #!/bin/bash
- ramfs_size_mb=256
- mount_point=/private/tmp
- ramfs_size_sectors=$((${ramfs_size_mb}*1024*1024/512))
- ramdisk_dev=`hdid -nomount ram://${ramfs_size_sectors}`
- newfs_hfs -v 'Volatile HD' ${ramdisk_dev}
- mkdir -p ${mount_point}
- mount -o noatime -t hfs ${ramdisk_dev} ${mount_point}
- chown root:wheel ${mount_point}
- chmod 1777 ${mount_point}
ramfs_size_mb 為使用內(nèi)存的大小,這里為256M,可根據(jù)自身情況進行修改。使用內(nèi)存模擬硬盤的目錄為 /private/tmp。
在 /Library/LaunchDaemons 目錄中創(chuàng)建名為 com.nullvision.ramfs.plist 的文件,內(nèi)容為:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
- "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- <key>Label</key>
- <string>com.nullvision.ramfs</string>
- <key>ProgramArguments</key>
- <array>
- <string>/var/root/ramfs.sh</string>
- </array>
- <key>RunAtLoad</key>
- <true/>
- </dict>
- </plist>
這樣,系統(tǒng)啟動時,會自動運行 /var/root/ramfs.sh 這個腳本,來幫助我們在內(nèi)存空間中劃分出256M模擬 /private/tmp 目錄。這樣,系統(tǒng)運行時產(chǎn)生的一些臨時文件就直接寫入內(nèi)存中了,減少了寫磁盤的次數(shù)。
同時,可將一些在運行時會產(chǎn)生大量臨時文件的目錄軟鏈接到 /private/tmp 下,只要滿足:1)這些臨時文件不會太大(我們只使用256M內(nèi)存);2)不是特別重要的數(shù)據(jù),即使丟失也無妨。
關(guān)閉Safari的Web Pageview
如果你像我一個,不使用Safari的Top Sites功能,完全可將該功能關(guān)閉掉。該功能會導(dǎo)致訪問網(wǎng)站時,生成大量圖片文件。
- rm ~/Library/Caches/com.apple.Safari/Webpage\ Previews/* #刪除所有預(yù)覽文件
- chmod 500 ~/Library/Caches/com.apple.Safari/Webpage\ Previews/ #設(shè)置該目錄為只讀
或者用下面命令禁止Safari生成預(yù)覽文件:
- defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2
關(guān)閉Spotlight索引
同樣的,如果你不怎么使用spotlight,可將其關(guān)閉掉:
- sudo mdutil -i off # 關(guān)閉spotlight索引
- sudo mdutil -E #清除spotlight索引
在需要spotlight功能時,可再將其還原:
- sudo mdutil -i on #打開spotlight索引