複製鏈接
請複製以下鏈接發送給好友

已緩存

鎖定
計算機為了使用數據事先將數據讀取到內存中,此為了在執行命令的時候更有效率,數據完全裝入內存時,稱為已緩存。同時,也有為了避免電腦或者其他電子設備在中斷與internet連接,無法做數據(音頻視頻或者其他)進行交換下載的情況,事先對需要使用的數據(音頻視頻或者其他)進行下載到設備中,臨時存放,完成數據下載也可以被叫做已緩存。
中文名
已緩存
目    的
使用數據事先將數據讀取到內存
隸    屬
物理內存
領    域
計算機

目錄

已緩存概念解釋

windows任務管理器中,有個物理內存,下面有三項,總數、已緩存、還有已用

已緩存總數

內存管理器的重大改變體現在它對物理內存的管理方式。先前版本 Windows 所使用的“待機列表”管理有兩個侷限性。首先,頁面的優先化僅取決於進程最近過去的行為,而不會預見到它們未來的內存需求。其次,用於優先化的數據僅限定 於進程在任意給定時刻所擁有的頁面列表。這兩個缺點會導致出現“午餐後綜合症”之類的狀況,即您離開計算機一段時間,但需要內存密集型的系統應用程序在此 期間一直都在運行(例如病毒掃描或磁盤碎片整理)。此應用程序會強制您的活動應用程序已在內存中進行緩存處理的代碼和數據由內存密集型活動重寫。等您回來 後,就會發現性能變得非常緩慢,因為各應用程序必須從磁盤請求它們的數據和代碼。
Windows XP 採用了預取支持,該功能基於以前的引導和應用程序啓動來執行大規模的磁盤 I/O,以向內存預加載所預期到的代碼和文件系統數據,從而改進了引導和應用程序啓動性能。Windows Vista 憑藉 SuperFetch 又向前邁進了一大步,SuperFetch 是一種通過歷史信息和前瞻性內存管理來增強“least-recently accessed”(最近最少訪問的)方法的內存管理方案。

已緩存性質

SuperFetch 作為在服務主機進程 (%SystemRoot%\System32\Svchost.exe) 內運行的 Windows 服務在 %SystemRoot%\System32\Sysmain.dll 中實現。該方案依賴於內存管理器提供的支持,因此它可以檢索頁面使用歷史,以及引導內存管理器將來自磁盤文件或分頁文件的數據和代碼預加載到“待機列表” 中,併為各頁面指定優先級。SuperFetch 服務基本上是將頁面跟蹤擴展到曾經存儲在內存中但已被內存管理器重新使用以為新數據和代碼讓出空間的數據和代碼。該服務會將這一信息存儲在 %SystemRoot%\Prefetch 目錄中擴展名為 .db 的場景文件中(位於用於優化應用程序啓動的標準預取文件旁邊)。在對內存使用情況的這種深入瞭解基礎上,

已緩存已用

SuperFetch 可在物理內存變為可用時預加載數據和代碼。
只要內存變為可用(例如,當某應用程序退出或釋放內存時),SuperFetch 便會要求內存管理器提取最近被驅出的數據和代碼。這將以每秒少數幾頁的速率完成,並且 I/O 的優先級為“非常低”,以便預加載操作不會影響用户或其他活動應用程序。因此,如果您離開計算機去享用午餐,並且某個內存密集型的後台任務導致活動應用程 序的代碼和數據在您離開期間被驅出內存,則 SuperFetch 通常會在您回來之前將所有或大多數代碼和數據返回到內存中。SuperFetch 還包含了對休眠、待機、快速用户切換 (FUS) 和應用程序啓動的特定場景支持。例如,當系統處於休眠狀態時,SuperFetch 會將數據和代碼存儲在它預期(基於以前的休眠)將在後續恢復期間被訪問的休眠文件中。相比之下,當您恢復 Windows XP 時,先前緩存的數據在被引用時必須從磁盤重新讀取。