今天意外發現,在把光碟機改裝成第二個硬碟之後,似乎我們都忽略了一件重要的事情…,那就是 apm 造成 load cycle count 數值大增的這個老問題。這除了會讓硬碟有異音以外,理論上對於硬碟壽命也會有影響,所以還是對系統稍微作一些調整比較好。雖然以前針對裝在正規硬碟槽位置的硬碟有作過調整了,改裝到光碟機位置時卻忘記了這件重要的事情。
我個人是使用 WD 的硬碟,WD 或其他硬碟,在 Mac 上會有彩球、仔細聽硬碟覺得一定間隔時間會有滴答聲響,這應該和硬碟的能源節約功能有關。大部分的硬碟是針對 Microsoft 作業系統的環境進行能源節約最佳化,而這些硬碟使用在 Linux 或是像 Mac 這樣以 Unix 為基礎的作業系統環境上,就會出現一些問題…。
Apple 隨機出貨的硬碟,應該都做過了某些調整而避開了這樣的現象,所以在自行更換過內接硬碟之後,往往容易發生硬碟有異音、或是一定間隔時間出現彩球等等的狀況。這樣的問題或許只是有微小的異音而不影響電腦的使用,但也有可能會造成彩球出現,甚至影響電池使用時間。這些在 Apple 官方討論區有滿多人提出來討論過,當中也有出現了一些解決方法。
要確認目前的硬碟是否有遇到這樣的問題而不自知,可以使用一些工具去觀察一下硬碟 S.M.A.R.T. 的資訊中 “Load Cycle Count" 的計數(例如 SMART Utility )。我想應該很多人都知道,這個數值有一定的極限,像 WD 似乎是保證 500000 次的 Load Cycle 。由於前面敘述的問題,會造成硬碟讀取臂頻繁的 Parking ,因而 Load Cycle 的增加會異常的快速…印象中一小時就會增加 100 左右。
所以呢!不管你是自行換過硬碟還是把光碟機改裝成了硬碟,在這邊都建議作一下 APM(advanced power management)的調整。詳細作法下述:
- 先到這裡下載 hdapm 這個小程式備用。這是作者 mckinlay 提供的一個工具讓我們可以調整 APM 的等級以解決上面提過的種種問題。
- 接著到這裡下載 Lingon 方便我們用比較圖形化的方式建立 LaunchDaemons 的設定檔。
- 把 hdapm 搬到路徑 /應用程式/工具程式/ 資料夾中,點兩下開啟讓系統認證。
- 打開 Lingon,點選左上角的+號建立新的設定檔,在彈出的視窗中選擇 User Daemons 後按下 Create。
- 右邊會出現很多設定選項,先在第一欄 Name 的位置填入 com.你的使用者名稱.launchd.hdapmd1
- 在第二欄 What 的部份填入 /Applications/Utilities/hdapm disk1 max
- 最後在第三欄的位置勾選 Run it when it is loaded by the system (at startup or login) 選項就好,其他都不用更動。
都做好之後按下左上角的 Save 並輸入密碼認證之後就可以重新開機了。
BUT事情似乎並沒有這麼簡單…。一般來說安裝系統的硬碟(也就是那顆貴的要命的 SSD)的 BSD name 會是 disk0、而裝在光碟機位置的硬碟應該會是 disk1 才對,但似乎有時後會顛倒過來,我不確定這是不是個案…。所以在完成上面步驟重新開機之後,記得到系統監視程式(console)觀察一下,有沒有 「com.你的使用者名稱.launchd.hdapmd1 Setting APM level to 0xfe: Success」這樣的訊息,並多重複幾次試試看,反正重開一次不用40秒…。如果遇到 BSD name 顛倒過來的情形,則會有像下面這樣的訊息 「Setting APM level to 0xfe: FAILED: APM not supported.」(SSD不支援也不需要APM)。
所以該怎麼辦呢?我不知道 hdapm 能不能用 UUIDs 去指定正確的硬碟,甚至也找不到要去哪裡查詢硬碟的UUID。然而,反正 SSD 也不支援 APM,就算設定了也只是 FAILED 不影響系統運作,索性就多建立了一個LaunchDaemons設定檔(com.你的使用者名稱.launchd.hdapmd0)並指定 hdapm 的設定目標為 disk0 以防萬一。
如果有人知道怎麼解的也記得告訴我啊~