SSD的 4K對齊優化

你可能會問:「為何要4K對齊?」(傳統 HHD硬碟不需要 4K對齊!)

Disk, Record Player

因為 SSD的硬體規範是以 4 KB當作最小儲存單位(稱為page),相當於傳統硬碟的扇區(sector),而 NTFS、EXT3、等常用的格式,也是以 4 KB作為一個叢集(cluster),也剛好與記憶體最小儲存單位相符。當寫入一個 4 KB的檔案到 SSD時,不僅填滿一個page,也與記憶體最小儲存單位相符,亦是一個叢集的大小,以這樣方式存取 SSD效能是最佳的。

如果沒有對齊 4 KB的最小儲存單位,儲存資料就會出現同時操作兩個 page的情況而導致效能下降,就好比是原本一隻手就能辦到的事情,卻刻意要用兩隻手來辦。因此分割硬碟的時候將磁區的起始點設定為 4的倍數,而將分割區設定為 4可以整除的數字開始,就稱為「對齊」。

更簡單說:「SSD若沒有 4K對齊,速度會比較慢!」

「如何4K對齊呢?」

關鍵其實不在於分割磁碟,而在於格式化。如果你買來一顆全新的 SSD,只要在安裝新系統前利用安裝光碟來格式化並對齊它就可以。但是 SSD若是已經安裝系統或是有重要資料在上頭的話就必須要借助知名的 AOMEI Partition Assistant來處理。

(當然,這是因為我安裝了 WIN 10出包以後才會這麼問!只是 4K對齊不是我的根本問題。)

你應該還有興趣:

令人傻眼的微軟 Windows 10 系統凍結問題

「我該換 WIN 10嗎?」

windows-apartment

如果你現在 WIN 7(甚至是XP)用得好好的,改成 WIN 10肯定會讓你不習慣一陣子的,尤其是當你發現有系統凍結(freeze)問題的時候,一定會後悔太早當白老鼠...

當然, WIN 7再好用,也不可能一直用下去,只能說多用一年算一年。畢竟時間是最大的敵人,WIN 7早晚會像是 XP那般,官方透過各種卑劣手段不再提供後續安全性更新,然後逐步被一一汰換。

本月手癢之餘,趁著多年來的重整,將原本的用得好好的 WIN 7一口氣升上去 WIN10,原本是存放在 HDD上安然無恙,但轉移至 SSD後就整個悲劇了...。網路上所謂的「凍結」在我電腦上看來,大概就是滑鼠正常運作,但無法做任何點擊,或是螢幕會突然閃爍變黑、畫面整個靜止不動,每隔一小時甚至半小時發作一回。

本以為是 SSD 4K對齊或是韌體問題,卻萬萬沒想到根源來自於偉大的微軟作業系統!

微軟表示「我們目前收到部分用戶回報安裝 Windows 10 年度更新後出現當機情形。這情形發生在將系統安裝在 SSD 固態硬碟,而其他程式和資料儲存在另一硬碟的電腦上。在安全模式中開啟 Windows 10 則無此狀況。若您碰到這項問題,請耐心等待我們進一步調查,並隨時查看這條討論串的更新。

只能說人品不好,啥事情都會遇上的!(哭哭)

接下來,就只能見招拆招。而根據微軟的說法以及網路相關討論,一種方式是退回 Build 10586版本,可惜我沒這機會嘗試。

再來就只能降低效能去換取穩定性,把內建 App Readiness Service服務關閉或者到 BIOS調整 onChip SATA Type為 AHCI。(後者不建議,等於是閹割 SSD)另外其他方式還有嘗試關閉 SuperFetch、Prefetch以及家用群組 HomeGroup 服務。

現在是透過 Disable MSI for the controller in the registry處理方式後,看來正常運作中,後續只能再觀察...(希望不要人品再爆發了!)

你還想要知道:

C# 操作Excel的注意事項

當透過定期排程執行開啟 Office Excel進行相關作業時,通常會遇到一些莫名的錯誤,導致作業系統留下一堆無主的 EXCEL.EXE。這些背景 EXCEL.EXE看似無害,放著不管可是會逐步吃著記憶體,一點一滴霸佔著 CPU的。


按照 MSDN Code Sample的解釋,Excel是屬於 Unmanaged的程式,所佔用的相關資源是不會在一般所撰寫的程式結束時自動回收:
Step9. Clean up the unmanaged COM resource. To get Excel terminated rightly,we need to call Marshal.FinalReleaseComObject() on each COM object we used. We can either explicitly call Marshal.FinalReleaseComObject on all accessor objects:
因此,要確保任何情況下能夠確實釋放資源,程式需要加入 finally區段明確清理並依序關閉 Excel COM+物件,也就是說,在程式中曾經使用的 WorkbookWorksheetRangeCell,結束前都要使用 Marshal.FinalReleaseComObject()清掉以確保Excel程式能順利關閉。

連Range/Cell都要清除,還可真是挺麻煩的!你可能還想要知道:

C# 如何偵測特定檔案是否為 Lock狀態

要怎樣才能有效在 Windows平台上偵測出檔案是被 Lock呢?


這樣的問題常常會在整合 Office時遇到,像是要依照排程開啟 EXCEL檔案,並透過內含的 VBA運算產出報表。但若是中途發生異常或是中斷,會讓 EXCEL檔案開啟著而導致下次排程無法正常開啟檔案。

為了解決此問題,網路上多半的解法都是先試圖去開檔案,當檔案無法正常開啟時就視同檔案被 Lock住。但是這樣的作法不算精確,因為有很多情況下都會發生開檔錯誤,不一定是因為檔案已被開啟的關係

依照 MSDN,找到一個比較正確的方式,是透過 Mashal.GetHRForException方法取得 HRESULT,接著將 HRESULT跟 65535做 AND運算取得對應 error code,這樣就可正確得知檔案狀態。

若 error code為 32或 33則表示檔案被Lock住,反之則是正常狀態。(HRESULT的定義前面十六個 bits為 error code,取得之 HRESULT 結果還要與 65535做 AND運算才能取出error code)
  • ERROR_SHARING_VIOLATION (error code 32)
  • ERROR_LOCK_VIOLATION(error code 33)
你可能還有興趣知道:

免費取得 Parallels Desktop 12授權失敗

原本要下手買 Parallels Desktop 12 for Mac來安裝,但突然發現有免費使用 Parallels Desktop 12一年的「Parallels Desktop 12 for Mac Sales Associate Training」活動,雖然不是永久授權,不過還是有整整一年時間可以使用。


於是,按照步驟,觀看教育訓練以及回答簡單的問題,最後填寫聯絡郵件,並帶著愉快的心情準備收序號,只是事情不是憨人想的那麼簡單,其實這活動根本不是給一般人參加的啊!

從 Parallels來信可得知:
Thanks for taking the Parallels Desktop 12 for Mac Authorised Reseller training for Sales Associates.

This program is for Authorised Parallels Partners and Resellers only.
You are unfortunately not using your company email address and we cannot validate if you are working with one of our approved resellers.

Please take the training again using your company email address (name@company.com)

If you want your company listed as an authorized reseller for Parallels Cross Platform Solutions, including Parallels Desktop for Mac, please contact our sales team. Details on how to reach our worldwide sales team can be found here: www.parallels.com/about/contact/

Should you not be employed at one of our authorized Resellers you have the ability to purchase a copy of Parallels Desktop 12 for Mac at: www.parallels.com/desktop/

Best regards,
The Team at Parallels
其實這根本是給經銷商的活動(其實他開宗明義就說了...),想要 Parallels Desktop 12 for Mac嗎?想要的話可以全部給你,去找吧!我把所有 Parallels Desktop 12 for Mac都放在那裡,還是乖乖採買去吧!

或者還可以試試:

更改或重置 OS X 使用者帳號的密碼

換了新版 Macbook Pro,把原本的 Macbook Air簡單整理一下,重置了一下密碼後準備交給老爸把玩,沒想到卻出現悲劇。不知道是老糊塗還是一下子神智不清,居然連自個半個小時前設定的簡易密碼都給搞丟了,真是哭天搶地叫爹娘都沒用...


本想卯起來重裝系統,幸好腦袋瓜依稀記得重置開機密碼的方式,可沒想到在此時此刻派上用場。(生命還是要浪費在美好的事物,不要老是重灌與重開機啊!)

目前 OS X版本的重置方法有好幾種,官方也有詳細說明。如果是 OS X Mavericks(10.9)及其後的系統版本,可以直接使用 Apple ID 對用戶密碼進行快速重置,這也是目前最便捷迅速的方式。

而我是透過既有的 OS X工具程式來處理,處理步驟如下:
  1. 按下開機鍵,在開機還沒有出現蘋果圖示時,同時長按【 ⌘ + R 】不放,直到出現 【OS X 工具程式】為止。
  2. 由上方的選單列點選【工具程式】【終端機】。
  3. 進入【終端機】後,直接輸入指令【 resetpassword 】,輸入完畢請按下【 return 】鍵。
  4. 【重置密碼】的視窗出現後,先選擇卷宗。
  5. 在選擇忘記密碼的使用者帳號,再輸入「新密碼」。
  6. 重新開機。
不過,以上步驟是不適用於開啟「FileVault」加密模式的 Mac,如果開啟了「FileVault」又忘記開機密碼就真的只有重灌一途!而且這個方式會讓所有 KeyChain 密碼鑰匙圈都會洗掉,各地 Wifi密碼、各路網站密碼、自身應用程式密碼都必須要重新設定。

當然,最根本解決的方法還是用腦袋記下(但豬頭真的記不住就#$%@),好歹也加個密碼提示,讓忘記密碼時也比較好猜一點。

你還可以試試:

天氣終於開始「認真轉涼」了

OMG,沒想到天氣終於轉「認真模式」,在冬天好好變涼變冷了!

Ice, Boots, Snow
或許是溫室效應再加上冰層逐漸融解,全球氣候也跟著異變,「乾旱」、「風災」、「水災」在台灣都變得愈加頻繁。雖然說美國總統川普在選前譏氣候變遷為一「騙局」,但在宣誓後也改稱人類與此議題「有些連通性」,「我正密切關注它」...。

而去年李奧納多迪卡皮歐Leonardo DiCaprio)以氣候變遷造成海平面上升等影響為主題,發表新紀錄片 Before the Flood,或許可以帶給大家一點不同的省思。或許現今世界已經藉由你我的手開始崩壞,下一代所生活的未來亦不復存在,但在洪水來臨前,是否可以做一些小事情來改變明天呢?

台灣,是可能逐漸被淹沒的島國之一,若在島嶼上的文化以及歷史被上升的海平面所吞沒,世代在這裡生存的台灣之子又該何去何從呢?李奧納多的熱情呼喊是否已經喚醒你了?

希望每個人,對這世界環境再多那麼點關心,再減少那麼點對環境的傷害。

為什麼檔名千萬別留白?來自鍵盤「空白鍵」的隱形殺手

 平常在電腦裡存檔案時,會不會習慣這樣命名: 2026 出國旅遊 行程表.docx 大專案 最終版 真的最後版.psd 在檔名裡加個「空白鍵」,讓字和字之間有呼吸的空間,看起來清爽又好讀,對吧? 但電腦底層的系統、工程師的眼裡,這個小小的「空白字元」,其實是一個隨時會引爆的炸彈!...

最近三十天熱門文章