Calvert's murmur

Mac OS X 延長 SSD 壽命

2013-10-26

約 1646 字 / 需 9 分鐘閱讀

由於有時候會重灌電腦,所以在這記錄一下重灌之後要延長 SSD 所做的步驟。

關閉 Time Machine 的本機備份模式

如果有開啟 Time Machine 功能,當備份磁碟無法使用時,系統還是會每小時建立快照摒除存在本機硬碟,使用以下指令可以禁止系統在本機備份檔案

$ sudo tmutil disablelocal

往後也可以使用以下的指令重新開啟這個功能

$ sudo tmutil enablelocal

設定 noatime 掛載

Unix like 的作業系統,會在每次存取檔案時修改 Access time 的屬性,可以令如 Spotlight 的程式找到最近存取的檔案。但是每次存取檔案時皆會對硬碟寫入資料,對有存取次數限制的 SSD 來說便會縮短壽命,以下的步驟可以取消記錄存取時間。

  1. 在家目錄建立 com.disk.noatime.plist 檔案,內容如下:

    <?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.disk.noatime</string>
    <key>ProgramArguments</key>
    <array>
    <string>mount</string>
    <string>-vuwo</string>
    <string>noatime</string>
    <string>/</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>
  2. 搬移檔案到 LaunchDaemons 資料夾

    $ sudo mv ~/com.disk.noatime.plist /Library/LaunchDaemons/
  3. 變更 com.disk.noatime.plist 檔案擁有者

    $ sudo chown root:wheel /Library/LaunchDaemons/com.disk.noatime.plist
  4. 重開機後,於終端機內輸入 mount 看到 noatime 代表已使用 noatime 掛載

    $ mount
    /dev/disk0s2 on / (hfs, local, journaled, noatime)

變更睡眠時資料儲存位置

當系統進入睡眠狀態時,OS X 預設將資料保存於記憶體內,另外再將記憶體資料寫入硬碟,防止電腦沒電時資料遺失。
假設記憶體有 8 GB,代表睡眠時若電腦電力不足都會將 8 GB 資料寫入硬碟,長期下來 SSD 的壽命將會大打折扣,因此我們要變更睡眠時的資料存放位置,改為只存於記憶體中,但若是電腦沒電時,資料便會遺失。

  1. 透使用下列指令設定睡眠時只存在記憶體

    $ sudo pmset -a hibernatemode 0
  2. 刪除在硬碟上的睡眠備份檔

    $ sudo rm /var/vm/sleepimage

    若要改回預設的模式,則輸入

    $ sudo pmset -a hibernatemode 3

    輸入下列指令可以查看目前模式

    $ sudo pmset -g | grep hibernatemode

    hibernatemode 0

  3. 建立一個空檔案,防止系統再產生 sleepimage
    建立檔案

    $ sudo touch /var/vm/sleepimage

    防止系統修改此檔案

    $ chflags uchg /var/vm/sleepimage
Tags: Mac