M2 討論區

Title: Windows 7 的 SSD 效能優化進階 [Print]

Author: admin    Time: 2011-10-31 13:55
Title: Windows 7 的 SSD 效能優化進階
在進入 SSD 的門戶後, 難免要把作業系統優化, SSD 應用時有效維護及提昇運作效能, 優化主要針對 Windows 7 作業系統, 快將引退的 XP 系統有硬體及軟體上的功能限制(不支援系統原生的 TRIM 功能)也該準備退役了, 雖然 Windows 7 系統有良好的支援 SSD(微軟說的), 不過還是有很多被忽略的需要手動修改, SSD 優化後的好處在效能上也十分明顯。
. A4 c: }1 r* k! Y: ?0 G6 {2 Q; a# O7 Y* s; A8 O
作業系統優化後除了影響 SSD 固態硬碟效能, 減小 SSD 頻繁作業亦有效增強了閒置時維護(TRIM/GC)後的高鋒寫入效能, 還會對 HDD 硬碟機有小許改善。
9 ^6 n, L" _4 Q( F  J% }4 T8 p9 L3 K
Windows 7 SSD 一般重點優化:5 m0 W  p/ `: m. l. d

8 H0 ?( ]6 ~# W' j+ v5 p7 k建議在 SSD 初始分割格化後即時執行對齊程序, 可減小因為分割區內大量文件檔案耗用執行對齊時間。" ~0 y' B: r& c" v& a

. Y4 V( [8 U" B& X5 Y9 eAHCI (SSD/HDD)$ z  d# Z5 p: c/ V
AHCI 模式對不同廠牌 SSD 的傳輸影響在 AS SSD 測試中 4KQD32 有達 ~400%以上(NCQ 對細小的持續讀取最明顯), 要用盡 SSD 的效能火力(尤其是配合 Intel RST AHCI)的話, 開啟 AHCI 模式是無容置疑; 如果 OS 已安裝成 IDE 模式的話, 需要在 Windows 7 內先修改 registry 機碼(及準備好驅動程式), 然後重啟電腦進入 BIOS 啟用 AHCI。" L' S' L+ M& N1 z
% p7 X1 B5 P: f2 {' M- v- f
修改 Windows 7 機碼啟用 AHCI:
# M: I9 f( J) k& a% U以系統管理員身分執行 regedit 登錄編輯程式& J0 `& ^+ I" L
尋找
) ?7 ?8 s3 Z5 i! K[HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMsahci]# }8 q2 ^8 w" L8 ~. w
修改
: L5 e3 E1 P; A) W- L+ ?將 start 預設值 3 修改為 0
8 H$ x9 w9 i! G, K1 ^) z2 b+ m! E/ g  v, `1 }8 f
msahci_service.png

$ ^, C$ f2 M* p8 A- G1 A. P參考微軟技術文件 KB9229761 A; {+ k5 M, r9 t1 v
6 e6 M4 ^* j0 P
3 f; Q: s' l' l7 ~% w
TRIM (SSD)
6 y! k6 t* P8 h! W; K% _/ GWindows 7 新增 TRIM 功能支援專用於 SSD, 主要由於 Block、Page 及 Cell 必須首先抹除才能寫入新的數據, 寫入隨時間及空間容量縮小累積而在沒有更多 pre-erase 的 block 下持續爆發寫入(burst write)效能下降, TRIM 的作用是把 SSD 可刪除文件的 block/cell 資料立即標示為 invalid, 容許內置預先抹除, 待再有寫入動作時減去了同時要執行抹除作業。
& N$ V' V% l& x
w7_ssd_trim.png
5 F1 c+ q& d( U. H- `$ _: r1 I
要應用到 TRIM 的話, 必須 OS、驅動程式 及 SSD 同時支援, 現時 OS 完全支援 TRIM 功能只有 Windows 7, Windows Server 2008 R2 及 Linux(kernel 2.6.33), 而 Windows 7 內的 Microsoft generic AHCI/ATA 驅動程式 及 Intel 的 RST 9.6 已支援 TRIM, 市場上的 SSD 並不是全部都支援 TRIM, 部分可以透過更新 firmware 提供升級, 部分因為 SSD 控制晶片的限制沒有 TRIM 功能, 某些舊型號 SSD 亦沒有 GC(Garbage Collection)功能內建(需要額外工具程式修復, 例如 Intel X25-M G1, 及 JMF612 控制器晶片), 採購 SSD 時要注意是否支援。+ n; L  k8 b3 m- `4 [8 }+ v

4 T1 y) ~3 e  l' P+ qWindows 7 查看 TRIM 支援預設:- |1 {0 r1 Z: v) U
以系統管理員身分執行 cmd 命令提示字元3 f! l+ e' p; ]+ F/ {9 s
執行指令:
( s7 G, f4 T! a. rfsutil behavior query DisableDeleteNotify
7 r& K4 S) M1 s! c2 {8 _* O
正常 DisableDeleteNotify = 0 即表示 OS 內 TRIM 功能已啟用
* c6 z9 }0 \! n! f1 v4 w
5 ]9 z9 W3 U! z; l" ]1 m: ~9 }
, n* E# v+ {; o0 j1 z0 _3 ]/ C7 z
$ g" M: p5 B, |8 l, B+ y, g/ t
# d2 \( b, ]- v/ t5 lSuperfetch/Prefetch (SSD)
  @# d+ M  G4 X1 C/ r2 NSuperfetch 對軟體程序的啟動和預取增強的程式讀取載入性能, 主要針對是 HDD 硬碟機的物理機械限制, 但 SSD 跟本沒有此問題情況, Superfetch/Prefetch 只會更浪費耗用讀取時間及程序, SSD 當系統碟的話, 關閉 Superfetch/Prefetch 絕對有好處; Windows 7 把 services 服務內的 Superfetch 設定為手動啟動, 停用後可以刪除 c:windowsprefetch 目錄內的檔案文件。
7 w( A5 ~7 A; g; ?) A$ U
2 V8 K4 e1 r2 j6 x  k7 M$ a5 }7 o: k" {停止 Superfetch 服務:7 V1 U9 |  t+ G6 K* @% c/ E
以系統管理員身分執行 services.msc 服務# c4 e/ x7 x; `
尋找 Superfetch 服務
; z0 @+ d2 p, M/ Y3 V) T4 Q0 b點按 將 "自動" 改為 "停用"或"手動" 及點按 "停止"
# x8 L' b7 d& g2 ]! K7 `, {! C: Y; {: C# }1 c/ v1 z% I
superfetch_disable.png

# X, p3 V: L! D' J3 [8 q; j& I停用 Superfetch 服務的話, 亦同時停止了 Prefetch 及 ReadyBoost 功能。
/ j! k/ R/ P6 y9 N% P% t+ ]1 ?2 {  G9 ~( @- [" k
( I; l) J% [# F( p- D5 G6 L

" P* c# f7 ]' c1 S8 F" B: n. s# Y0 l# _1 ?- w- ?6 h: ]
Defragment (SSD)/ q. E# v! Q' T( i
磁碟區塊破碎是機械硬碟機的攸久問題, defragment(破碎重組)只能有效針對 HDD 硬碟機因為檔案區塊分散影響讀取性能而已, 沒有物理機械限制的 SSD 是無需執行任何「磁碟重組」作業。5 Y; @; D' L9 k' ?& `
Windows 7 的 disk defragment(磁碟重組)是自動排程, 需要手動停止自動磁碟重組(雖然微軟宣稱 SSD 會自動停止磁碟重組)1 }  H7 g, @% h; g; c# X3 n
, v1 V* W5 P2 e7 k( b
停止磁碟重組自動排程:8 a. K* F0 J( A- H3 D" _
以系統管理員身分執行 dfrgui.exe(disk defragment)# F) C3 }  X9 @- k1 m
在 "設定排程" 內關閉不勾選 "依排程執行"
; p( V. T6 Z3 s+ z( g: G/ p2 W. ]

* r. F; o- k9 Z  I- m, Y
autodefrag_disabled.png
% U# Y0 I8 \7 L/ z+ s% w

8 {' r  U0 q: R' p* t  J* \& M, G6 b9 m

6 r, x+ S: e3 P" t4 l! c
! e2 H+ r( p; T* a5 nWindows 7 SSD/HDD 其他有的無的優化:" S( e) m; e9 p" A/ P$ {( j% _% M
. ~) w; u2 P8 g, }
- B, J0 a5 V4 P+ `& y
, D$ I0 O& `% _3 S3 |
windows_search_disable.png

, Q: ?/ H# m" P  H( J7 m  p/ G% U* g/ m4 z
timestampinterval.png # f- b- A% N  I
ceip.png
ceip_disable.png

3 {9 y. F# ~+ V. J4 s
2 z: a. [2 I$ I; L- E9 y3 h$ J( R9 H關閉了 Windows 客戶經驗改進計劃只是禁止用戶選擇加入 CEIP, 及停止將分析報告上載到微軟, 並不是停止 CEIP 的分析排程作業。
) @$ @* m' t# [9 i3 E& R
5 {$ o4 N0 i! [$ D* u停止 CEIP 自動排程  G" e! a* ^; d) {+ X* B! k8 F
以系統管理員身分執行 taskschd.msc 工作排程器9 x; i, ]6 ~9 O1 r
展開 工作排程器程式庫 -> Microsoft -> Windows -> Customer Experience Improvement Program* b! d$ ^1 j; q2 \0 @# t# W
滑鼠右點將三個排程 Consolidator KernelCeipTask UsbCeip 停用4 b# u% B8 l9 o3 L5 E0 _* [! s$ |
! X# V9 }3 t; _& g, _8 t
w7_schedule_ceip.png
9 N+ L. i0 F. R
停止 RAC 自動排程每小時一次(CEIP 關聯)
% D. P" @% I, `" V. a3 L以系統管理員身分執行 taskschd.msc 工作排程器
+ q+ C5 ~1 F- Z) J/ A& `7 S展開 工作排程器程式庫 -> Microsoft -> Windows -> RAC0 O9 V7 f; a9 k$ r" z; `4 J: P4 ?
滑鼠右點將排程 RacTask 停用
" V' i6 }. h) i$ \2 q/ L' ~
w7_schedule_rac.png

2 Q. z8 E3 R# b  p$ g- h
, v# j3 N6 D) V4 |; Z2 \
; w- a0 k- F- D
ipv6_disable.png ! B  z" l% O3 ~9 R
9 G, [0 A2 d$ H# A- O. q% k
停止 IP-Helper 服務:
2 v* _1 v4 |" Z6 G9 u: ?IPv6 轉換技術, 主要是將非 IPv6 的地址轉換到支援 IPv6 的網絡環境(例如 在內部 IPv6 網絡連接到 IPv4 的網址), 此系統服務會在 background 內不斷對外呼號連接轉換, 利用 Resource Monitor 時會看到有持續的網絡資料傳送, 關閉了 IPv6 的話 IP-Helper 已無用處, 也停止對外呼號連接轉換。& N+ i  l/ F" H! Z- ^; p6 P
以系統管理員身分執行 services.msc 服務5 J& V6 C& {) v# E0 }5 M
尋找 IP-Helper
: O% ~3 P  X" [8 M5 J2 g' i點按 將 "自動" 改為 "停用" 及點按 "停止"6 l/ |# L. m6 ]/ c% T
! o0 }& K1 G* U# T* f
ip_helper_disable.png

! m: f# j  B4 ]2 D) ~, e
6 d8 b. H* U% d+ X: Y& e網絡裝置停止使用 IPv6 協同
7 ]0 W6 e5 O- M+ \# q8 q# U. \
ipv6_off.png

! e5 D. Q4 U- E& E0 Q8 A9 O3 E8 b
4 }, w: _6 o& q( Q- a




Welcome M2 討論區 (https://forum.m2.hk/) Powered by Discuz! X2.5