Mac Proに載せたSeagate製ST750LX003も Load Cycle Count値が異常に多い
1年半前に購入したSeagateのハイブリッドSSHDでも
いよいよ産業医との面談日が迫ってきました。不安と緊張でいっぱいで、身体に力が入らないよ。オリンピックの選手達と比べるのは失礼だけど、彼らも不安や緊張で身体が思うように動かないって感じがあったのではないだろうか。
今日も気持ちを紛らわせて何とか落ち着かせるため、BLog書いたりネットで調べ物をしたりしています。
約1年半前に購入したSeagate Momentus XT ST750LX003 ですが、これも Load Cycle Count 値が異常に多くなっていました。これは 8GBのSSDと750GBのハイブリッドHDD (SSHD)で、Snow Leopard起動用に使っています。そのS.M.A.R.T.情報が以下です。
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 113 099 006 Pre-fail Always - 57317600
3 Spin_Up_Time 0x0003 098 098 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 097 097 020 Old_age Always - 3229
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 080 060 030 Pre-fail Always - 106307421
9 Power_On_Hours 0x0032 097 097 000 Old_age Always - 3284
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 098 098 020 Old_age Always - 3028
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 253 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 099 099 000 Old_age Always - 1
190 Airflow_Temperature_Cel 0x0022 066 057 045 Old_age Always - 34 (0 1 34 23)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 169
193 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 211880
194 Temperature_Celsius 0x0022 034 043 000 Old_age Always - 34 (Min/Max 0/32768)
195 Hardware_ECC_Recovered 0x001a 039 027 000 Old_age Always - 57317600
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
254 Free_Fall_Sensor 0x0032 100 100 000 Old_age Always - 0
|
赤字の箇所です。電源オン・オフで増えるのは仕方ないとして、その回数を引いて計算してみると約63回/h になります。1分に1回以上の頻度でヘッド退避を繰り返しているわけで、このペースで増加し続けると、一日に8時間使用した場合あと半年程で30万回を越えてしまいます。Intellipark機能などのHDD省電力機能の事を知り Load Cycle Count値に注目するようになったのが最近なので、気が付くのが遅れてしまいました。今さらですが対処方法を調べました。NAS(Linux)の Seagate製HDDについては、hdparmコマンドで HDDの APM(advanced Power Management)機能を無効にする事で対処しましたが、Mac OS X には hdparmコマンドがありません。どうしましょう?
調べたところ、Mac OS X では hdapm を使うと良いとの事です。使用方法は、ダウンロードしてインストールして再起動するだけ。Mavericksでも正常に動作してくれているようです。
デフォルトでは搭載している HDDのうち APM機能があるHDDについては無効(処理速度最優先)にしてくれるようです。ワタシの Mac ProではAPM機能の無い WD製HDD以外の Seagate SSHD, TOSHIBA SSDの APMが無効になりました。まぁ SSDは関係ないでしょうけど。これで Seagate SSHD の Load Cycle Count値の異常増加はピタリと止まりました。
搭載している全てのHDDで APMを無効にするのではなく、特定の HDDについて無効にしたい場合は "/Library/LaunchDaemons/hdapm.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>hdapm</string>
<key>ServiceDescription</key>
<string>Set ATA Advanced Power Management level</string>
<key>LaunchOnlyOnce</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>root</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/hdapm</string>
<string>disk1</string>
<string>max</string>
<string>-log</string>
</array>
</dict>
</plist>
|
という具合に ProgramArgumentsへ対象の diskN(赤字の部分。Nはディスク番号)を書き加えれば良いようなのですが、複数のHDDを積んでいる場合、どのHDDが何番のdiskになるか決まっているわけではなく、起動の度に変わるようです。どうもブート時にOSが認識した順に0から連番が振られるようですね。なので、この修正はやっても意味がないかも。
またデフォルトでは maxに設定されている APMのレベルですが、ここには max, min, default の他に 0〜254の値を指定できます。値と省電力レベルの関係はホームページに書かれてないので分かりませんでした。参考になるか分かりませんが、Seagate ST3000DM001 のAPMレベルは、
APMレベル | APMモード |
0 | APM無効 |
1 | standby状態(プラッタはスピンダウンする)にする最省電力モード |
2〜127 | standby状態にする中間省電力モード |
128 | standby状態にしない最省電力モード(多分idleモード。プラッタはスピンダウンせず、ヘッドを退避) |
129〜253 | standby状態にしない中間省電力モード |
254 | 処理性能優先、最大消費電力モード |
のようです。おそらくdefault値は128。ヘッドの退避を止めるだけなら maxでなく 195くらいで良いと書いているページもありました。もしかしたらHDDメーカーやモデルによっても違うのかもしれないなぁ。
APMを無効にすると、PowerBook等の場合はバッテリの持ちも悪くなるので、程々にしておいた方が良いかもしれません。
|