Syscache (系統)
此資料驗證測試會在系統磁碟區上執行。 它會寫入檔案,並確認寫入的數據已正確讀取。 它可以偵測韌體、驅動程式、文件系統、記憶體等路徑中任何專案所造成的損毀。它會使用標準的 Win32 檔案系統和記憶體管理 API,從檔案讀取和寫入數據。
測試詳細資料
規格 |
|
平台 |
|
支援的版本 |
|
預期的執行時間 (分鐘) | 15 |
類別 | 案例 |
逾時 (分鐘) | 900 |
需要重新開機 | false |
需要特殊設定 | false |
類型 | automatic |
其他文件
此功能區域中的測試可能有其他文件,包括必要條件、設定和疑難排解等資訊,可在下列主題中找到:
執行測試
執行測試之前,請完成測試設定,如測試需求中所述: WDTF 系統基本概念測試必要條件。
疑難排解
如需 HLK 測試失敗的一般疑難排解,請參閱針對 Windows HLK 測試失敗進行疑難排解。
如需疑難解答資訊,請參閱 針對系統基本概念測試進行疑難解答。
測試失敗時,記錄會包含分析失敗所需的所有資訊。 尋找下列資訊以重現錯誤:
「寫入屬性」。 查閱寫入屬性的數據表,以尋找數據寫入檔案的方式。
「讀取屬性」。 查閱讀取屬性的數據表,以瞭解如何從檔案讀取數據。
發生錯誤的位移。
發生錯誤的檔案區域。 測試通常會使用單一寫入來寫入整個區域(除了FILE_FLAG_SECTOR_CHUNKS選項之外,它會一次寫入一個扇區)。
其他相關資訊
Syscache 會開啟具有特定旗標/屬性的檔案,並寫入檔案。 每個選擇的旗標可能會跨越檔案上的數個執行。
執行定義為下列序列的一組:
建立/開啟檔案。
將檔案大小截斷為 0。
寫入檔案。
關閉 檔案。
再次開啟檔案。
讀取檔案。
確認檔案的內容。
關閉 檔案。
檔案中有一組零和非零區域。 零區域是檔案中沒有寫入數據的區域。 非零區域是檔案中寫入數據的區域。 模式是 RRPPPPPP 格式的 DWORD,其中頂端位元組是執行編號,而接下來 3 個字節是檔案中這個 DWORD 位移的補碼。 忽略扇區的第一個 DWORD,因為它可能包含測試使用的數據。
下列屬性用於寫入檔案:
寫入屬性 | 說明 |
---|---|
FILE_ATTRIBUTE_NORMAL | 請參閱 CreateFile 函式。 |
FILE_FLAG_SEQUENTIAL_SCAN | 請參閱 CreateFile 函式。 |
FILE_FLAG_NO_BUFFERING | 請參閱 CreateFile 函式。 |
FILE_FLAG_WRITE_THROUGH | 請參閱 CreateFile 函式。 |
FILE_ATTRIBUTE_TEMPORARY | 請參閱 CreateFile 函式。 |
NO_BUFFERING |WRITE_THROUGH | 請參閱 CreateFile 函式。 |
FILE_ATTRIBUTE_SPARSE_FILE | 檔案會設定為疏鬆。 |
NORMAL APPEND_WRITE | 與FILE_ATTRIBUTE_NORMAL相同;關閉並重新開啟每個寫入的檔案,並附加下一個區域。 |
FILE_FLAG_SECTOR_CHUNKS | 與FILE_FLAG_NO_BUFFERING相同,數據會一次寫入一個扇區。 |
FILE_MAP | 與FILE_ATTRIBUTE_NORMAL相同,數據會透過記憶體對應寫入。 |
FILE_FLAG_OVEREXTEND | 與FILE_ATTRIBUTE_NORMAL相同,數據會透過記憶體對應寫入。 |
下列屬性用於從檔案讀取:
寫入屬性 | 說明 |
---|---|
FILE_MAP | FILE_ATTRIBUTE_NORMAL,數據會透過記憶體對應讀取 |
NO_BUFFERING | FILE_FLAG_NO_BUFFERING |
正常 | FILE_ATTRIBUTE_NORMAL |
RANDOM_ACCESS | FILE_FLAG_RANDOM_ACCESS |
SEQUENTIAL_SCAN | FILE_FLAG_SEQUENTIAL_SCAN |
TEMPORARY | FILE_FLAG_TEMPORARY |
WRITE_THROUGH | FILE_FLAG_WRITE_THROUGH |
命令語法
Command | 描述 |
---|---|
readwrit.exe -n 10 -d /logfile Syscache.log | 執行測試。 |
檔案清單
檔案 | Location |
---|---|
readwrit.exe | <[testbinroot]>\NTTest\BASETEST\core_file_services\cachemgr\ |
ntlog.dll | <[osbinroot]>\NTTest\CommonTest\NtLog\ |
ntlogger.ini | <[osbinroot]>\NTTest\CommonTest\NtLog\ |
stresslog.dll | <[testbinroot]>\NTTest\basetest\core_file_services\shared_libs |
參數
參數名稱 | 參數描述 |
---|---|
LLU_NetAccessOnly | NET 存取的 LLU |