啟用寫入快取時的磁碟效能降低

Windows XP 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Windows XP 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:332023
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
作業可能會低於特定硬式磁碟寫入效能預期如果硬碟磁碟會實作寫入快取,而且您的電腦使用任何下列作業系統:
  • Windows 2000 Service Pack 3 (SP3)
  • Windows 2000 Service Pack 2 (SP2) 您已在其安裝所述的 Hotfix 下列 「 Microsoft 知識庫 」 文件中:
    281672可能發生資料遺失後啟用 「 撰寫已啟用快取 」 功能
  • Windows XP
特別,硬式磁碟寫入效能可能比亦有經驗的 Windows 2000 版本稍早 SP3 慢。而且,在叢集電腦上的共用磁碟的硬式磁碟寫入作業可能會造成大型寫入效能,每個節點之間的差異。
發生的原因
Windows 2000 的版本早於 SP3 都含有一個錯誤會使某些磁碟] 命令從發行。這些命令只發出到有啟用寫入快取的磁碟。這些命令強制立即代替暫時不予保留在磁碟的寫入後置快取中的磁碟裝置要寫入的重要資料。

取得更多資訊有關這個 Bug 按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
281672可能發生資料遺失後啟用 「 撰寫已啟用快取 」 功能

啟用知識庫文章 281672 更正此 Bug 和原因這些命令,如預期般運作時,發送至磁碟寫入快取中所述的 Hotfix。此修正程式會包含在 Windows 2000 SP3 中。類似的修正程式也會包含在 Windows XP 中。

根據設計,這些指令會犧牲一些效能,這是因為的重要資料的安全。他們確定重要資料會立即寫入至磁碟。如果寫入快取已啟用特定的磁碟裝置,而且使用標準的機制來偵測,只會發出這些命令。 當這個安全行為強制執行於實作寫入快取的磁碟時,就會發生某些磁碟作業期間的效能的損失。請參閱本文以取得更多詳細資料的其他資訊 > 一節。而且,在叢集電腦上硬式磁碟資訊可能不會傳遞至該資源容錯移轉時接管叢集資源的節點。因此,硬式磁碟寫入作業效能,每個節點之間的差異就會發生。
解決方案

為執行 Windows 2000 的電腦

警告:如果您實作此修正程式 (藉由安裝更新的驅動程式,並開啟 受到保護的電源 寫入快取選項) 時,會移除內建於 Windows 2000 磁碟驅動程式,以確保重要資料寫入磁碟立即代替正在寫入磁碟稍後從磁碟的內建的快取的防護措施。除非您的電腦及任何已連接的硬碟保護透過可能包括多餘的電池供電電源供應器等功能的硬體設計的意外或不小心電源中斷,再實作這個修正程式。請連絡您的電腦和儲存裝置的廠商,以判斷您的硬體提供的保護程度。除非您瞭解並且接受風險可能會涉及,而且確信此風險已經被降低透過適當的硬體電源保護層級,再實作這個修正程式。而且,在叢集電腦上的節點之間的共用磁碟的作業,請解決藉由設定的 電源受到保護 的硬式磁碟寫入的效能差異撰寫每個節點上的快取選項。

如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
281672可能發生資料遺失後啟用 「 撰寫已啟用快取 」 功能

第 1 部份: 安裝 Windows 2000 更新程式

使用來自 Microsoft 修改產品預設行為的支援的功能。不過,這項功能被為了修改本文將告訴您該行為。這項功能只適用於特別需要的系統上。

如果該功能可供下載,便會在此 「 知識庫 」 文件頂端的 「 下載 Hotfix 」 區段。如果這個區段不會出現,請連絡 Microsoft 客戶服務及支援],以取得該功能。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。平常的支援成本將會套用到其他支援問題是所做不限定此特定的功能。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:附註「 下載 Hotfix 」 表單顯示的則使用該功能的語言。如果您看不到您的語言,這是因為 「 功能並不提供該語言的支援。此修正程式的英文版具有檔案屬性 (或更新) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version        Size    File name   -------------------------------------------------------   15-Jan-2003  19:42  5.0.2195.6655  34,832  Classpnp.sys   15-Jan-2003  19:43  5.0.2195.6655  30,768  Disk.sys				
附註此 Hotfix 中所包含的檔案有張貼 SP3 版本號碼,但是它們可以用 Windows 2000 SP2 架構及 Windows SP3 型電腦上。Hotfix 套件將會在同時 Windows 2000 SP2 基礎和以 Windows 2000 SP3 基礎的電腦上安裝。

第 2 部份: 設定 「 受保護的電源 」 寫入快取選項

在您安裝 Windows 2000 更新程式,並使更新的驅動程式,然後重新啟動電腦之後載入您也必須開啟每個磁碟有寫入 受到保護的電源 寫入快取選項的快取啟用,且有其寫入快取防止意外遺失的電源。如果 電源受到保護的 寫入快取選項未開啟,此更新不會不在磁碟行為或效能中實作的任何變更。

設定 [選取的磁碟上 受到保護的電源 寫入快取選項來 [Dskcache.exe 工具。Dskcache.exe 分別時使用。如需有關 Dskcache.exe 工具的詳細資訊,以及如何啟用 「 電源保護 」 寫入快取選項,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項件:
811392取得 dskcache.exe 工具來設定 「 受保護的電源 」 寫入快取選項
附註受到保護的電源 寫入快取選項可以只啟用目前存在的磁碟。預設情況下,受到保護的電源 寫入快取選項會停用。如此一來您套用此設定之後,可能會新增任何磁碟是停用此選項。如果新增額外的磁碟,啟用 [受到保護的電源 寫入快取選項的那些已新增的磁碟,設定才會生效。

為執行 Windows XP 的電腦

由於的 Windows 2000 和 Windows XP 之間的設計差異,目前沒有計劃,以釋放受支援的更新,這種行為的 Windows XP。
狀況說明
這種行為是經過設計規劃的。
其他相關資訊
許多磁碟裝置提供增強的效能,透過提供正在從磁碟,並延後寫入快取 (或延遲的寫入或延遲"寫入) 正在寫入的資料讀取到磁碟的資料的先期讀取快取的內建快取的使用。在某些情況下很重要資料立即,寫入實體磁碟,稍後在否則閒置的時間期間被寫入磁碟的內建的寫入快取中不保留。這可防止此資料的遺失或損毀如果磁碟或控制站 (不論寫入快取實作) 突然失去了電源,例如。

有兩個通常用來強制立即寫入實體磁碟快取的資料的命令:
  • 排清緩衝區] 指令,也就是可用的 SCSI 和 IDE/ATAPI 磁碟裝置,指示磁碟,立即將所有快取的資料寫入磁碟。對於 SCSI 磁碟,這實作由發出 同步 CACHE 命令到磁碟。IDE/ATAPI 磁碟 清除 CACHE 命令傳送至磁碟。這個命令通常會發出呼叫 FlushFileBuffers API 的 Windows 程式的結果。寫入至登錄是作業的 FlushFileBuffers 被呼叫的 API 和 同步處理 CACHE 命令中的結果被傳送到磁碟的範例。
  • 寫入穿透 指令,這是僅供 SCSI 磁碟裝置,是由較 ForceUnitAccess (FUA) 位元集發行到磁碟的 寫入 命令實作。這種類型的命令指示磁碟,使目前的封包的資料寫入磁碟時立即,略過內建的寫入快取。這通常是因為一個 Windows 程式,會呼叫 WriteFile API 寫入的檔案,它已經開啟藉由呼叫 CreateFile API FILE_FLAG_WRITE_THROUGH 設定旗標的結果。病毒掃描軟體通常開啟的檔案設定 FILE_FLAG_WRITE_THROUGH 旗標。 支援 FUA 位元是選擇性,和只有某些 SCSI 和 FC) 光纖通道 (通常是個別的磁碟機 (當作是給 RAID 陣列),裝置,實作這項功能。
由設計,這些命令會犧牲效能 (這會通常由提供磁碟的內建的寫入快取) 的量值以維護安全的資料正在寫入磁碟。如果這類資料不會寫入磁碟立即由這些命令,磁碟斷電突然,資料遺失,且正在寫入該檔案可能會損毀。

在 Windows 2000 版本早於 SP3,這些命令是不正確發出到磁碟裝置時預期。比方說 同步 CACHE 命令不發出至磁碟當程式呼叫 FlushFileBuffers,而且 FILE_FLAG_WRITE_THROUGH 與開啟檔案時,不 FUA 位元設定 寫入 命令的設定。知識庫文章 281672 所述的 Hotfix 已修正這個問題,以便這些指令會以預期發出,並如此來提供這類重要資料預期的防護來遺失。

附註Microsoft SQL Server 會使用 FILE_FLAG_WRITE_THROUGH 廣泛本機資料庫資料、 記錄檔及備份的檔案。本機資料庫的資料可能包含 SCSI 磁碟機和 SAN 磁碟機上的資料,但不是在 NAS 的磁碟機上的資料。如果保護其寫出快取的硬體上沒有啟用電源受保護的存放裝置功能,SQL Server 效能可能會影響在大型資料庫的檢查點程序期間。

寫入快取已啟用] 選項設定為磁碟裝置在 「 裝置管理員 」 中時, 就會發生兩件事:
  • 指令以開啟或關閉寫入快取會傳送到磁碟裝置。
  • 登錄值會儲存,磁碟驅動程式用它來判斷發出寫入快取管理命令 (Flush,寫入穿透) 到磁碟。
本文所述的 Hotfix 提供額外的組態選項是 受到保護的電源 的寫入快取選項。當同時 寫入快取處理] 和 [受到保護的電源 選項開啟、 啟用並因此辨識該磁碟驅動程式的磁碟的寫入快取但磁碟驅動程式不會發出寫入快取管理指令磁碟 (Flush,寫入日期)。這可以避免效能損失會否則所產生藉由清除寫入快取到磁碟] 媒體的資料,但公開如果電力那裡時遺失的磁碟資料的遺失或損毀的風險是仍然不已寫入磁碟的寫入快取區中的資料到磁碟。

下列表格彙總 寫入快取處理受到保護的電源 選項的效果:
寫入快取受到保護的電源
效果
已停用N/A磁碟並不會快取寫入。
驅動程式不會發出 Flush] / [寫入]-[穿透] 命令。
(只有行為可能並不需要的磁碟機的寫入快取在硬體中啟用)。
已啟用已停用磁碟快取寫入。
驅動程式會發出 Flush] / [寫入]-[穿透] 命令。
(預設值,做為 SP3 ,並 與套用有寫入快取已啟用硬體中的磁碟機的此更新的行為)。
已啟用已啟用磁碟快取寫入。
驅動程式不會發出 Flush] / [寫入]-[穿透] 命令。
(行為所產生的 SP3 之前] Bug 擁有的磁碟機的寫入快取在硬體中啟用)。

警告:本文為自動翻譯

內容

文章識別碼:332023 - 最後檢閱時間:12/07/2015 13:09:51 - 修訂: 12.2

Microsoft Windows XP Professional, Microsoft Windows XP Home Edition (家用版), Microsoft Windows 2000 Service Pack 3, Microsoft Windows 2000 Server SP2, Microsoft Windows 2000 Service Pack 3, Microsoft Windows 2000 Professional SP2, Microsoft Windows 2000 Advanced Server SP3, Microsoft Windows 2000 Advanced Server SP2, Microsoft Windows 2000 Service Pack 3

  • kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbfix kbbug kbqfe KB332023 KbMtzh
意見反應