Windows內存體系(2) -- 頁交換文件

      網友投稿 1171 2022-05-28

      一、頁交換文件

      虛擬地址空間只是操作系統為進程“虛擬”出來的一塊地址區域,并不代表任何實際的空間。而“頁交換文件”卻對應了實際的空間,這個空間一般是磁盤上名為“pagefile.sys”的文件。

      “頁交換文件”的大小和位置可以在系統設置(系統屬性 -> 高級 -> 性能 -> 設置 -> 高級?)中進行設置:

      從微軟的官方文檔來看,“虛擬內存”等于“物理內存”+“分頁文件”總和。可以把“虛擬內存”理解為Windows的一種內存管理機制。

      二、虛擬地址空間、頁交換文件、物理內存

      虛擬地址空間、頁交換文件、物理內存三者的關系如下圖:

      《Windows核心編程》第13章關于“物理存儲器和頁交換文件”章節中講到了“頁交換文件、物理存儲器之間的數據交換過程”,流程如下:

      應用程序從進程的虛擬地址空間預定并調撥了一塊地址區域時,起初這塊區域只是從“頁交換文件”中調撥的,這樣作有個好處就是:因為還不確定何時才會使用這塊區域,如果立即從物理內存調撥,會將占用很多的物理內存。

      當程序讀寫該地址區域時,此時就會出現上面圖上的頁交換文件和物理內存之間的數據交換過程。

      三、將頁面鎖定在物理內存

      從上面的幾節我們知道,當物理內存中沒有閑置頁面時,系統會將內存中的某些頁面的數據寫入到交換文件中,從而將該物理內存區域釋放出來供后面的程序使用。

      我們可以通過調用VirtualLock方法,將頁面鎖定在物理內存中,從而防止虛擬內存管理機制將頁面交換至頁面文件,而引起不必要的硬盤和物理內存之間的低效頁面交換。

      Windows內存體系(2) -- 頁交換文件

      也可以通過調用VirtualUnlock方法解鎖頁面,允許系統對頁面進行交換操作。

      需要注意的是,鎖定頁面時系統會根據當前可用實際物理內存情況,以及進程工作集配額判定當前最大可鎖定的頁面的實際數量,超過此數量會引起一個錯誤。我們可以調用SetProcessWorkingSetSize可以改變一個進程工作集大小的配額,從而可以鎖定更多的物理頁面。

      windows

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:關于rolling函數的探索,以及對北向資金能否預示股市漲跌的修正
      下一篇:紙質文檔管理系統降低文檔管理成本和精力
      相關文章
      亚洲一卡2卡3卡4卡乱码 在线| 亚洲国产高清人在线| 亚洲AV综合色区无码一区爱AV | 亚洲av高清在线观看一区二区| 亚洲一区二区三区播放在线| 亚洲国产日韩在线| 亚洲一级黄色大片| 精品亚洲456在线播放| 亚洲夂夂婷婷色拍WW47| 亚洲乱理伦片在线观看中字| 亚洲精品无码不卡在线播放| 亚洲AV性色在线观看| 麻豆亚洲AV成人无码久久精品 | 亚洲婷婷天堂在线综合| 亚洲综合小说久久另类区| 亚洲第一成年网站大全亚洲| 亚洲欧洲校园自拍都市| 亚洲午夜在线一区| 亚洲中文字幕久久久一区| 亚洲国产精品ⅴa在线观看| 精品国产亚洲一区二区三区在线观看 | 亚洲一卡2卡3卡4卡5卡6卡| 亚洲精品自偷自拍无码| 国产精品亚洲一区二区在线观看| 亚洲成a人片在线播放| 亚洲性久久久影院| 国产亚洲人成网站观看| 久久亚洲国产成人亚| 久久精品亚洲一区二区三区浴池| 亚洲成人黄色在线| 亚洲人成www在线播放| 亚洲AV综合永久无码精品天堂| yy6080久久亚洲精品| 77777亚洲午夜久久多人| 亚洲AV无码专区国产乱码电影 | 亚洲人成7777影视在线观看| 亚洲国产视频久久| 亚洲av麻豆aⅴ无码电影| 国产亚洲精品自在久久| 亚洲专区在线视频| 国产精品亚洲午夜一区二区三区|