aix虛擬內存管理器_第1頁
已閱讀1頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、虛擬內存管理器(VMM)性能概述虛擬內存管理器(VMM)性能概述虛擬地址空間劃分成段。每段的大小是256MB,它是虛擬內存地址空間中一個鄰接的部分,數據對象可映射到該空間。進程對數據的尋址能力按段(或對象)的級別進行管理,所以段既可以在進程間共享,也可以進行專門維護。例如,進程可共享代碼段但擁有獨立和專用的數據段。實際內存管理虛擬內存段劃分成固定大小的單元叫做頁。缺省頁面大小是4096字節(jié)。某些系統也支持大頁面,通常只能通過系統調用sh

2、mat訪問。段中的每頁在需要之前可位于實際內存(RAM)中,或存儲在磁盤上。同樣,實際內存也可以劃分成4096字節(jié)的頁面幀。VMM的角色是管理分配實際內存頁面幀并且解析程序對虛擬內存頁面的引用,這些頁面當前不在實際內存中或還不存在(例如,當進程第一次引用其數據段的某一頁時)。因為在任何給定時刻使用的虛擬內存數量可能比實際內存大,所以VMM必須將余量存儲在磁盤上。從性能的觀點來看,VMM有兩個稍微對立的目標:最小化使用虛擬內存的總處理器時

3、間和磁盤帶寬代價最小化缺頁故障的響應時間代價在跟蹤這些目標時,VMM維護一個頁面幀的空閑列表,它可用于補償缺頁故障。VMM使用了一個頁面替換算法來確定當前處于內存中的哪些虛擬內存頁要將它們的頁面幀重新指定到空閑列表中。頁面替換算法使用了幾個機制:虛擬內存段分成持久段或工作段。虛擬內存段分成包含計算內存或文件內存。跟蹤在訪問時引起缺頁故障的虛擬內存頁。缺頁故障分成新頁故障或重新調頁故障。在每個虛擬內存段中維護一個重新調頁故障率的統計信息。

4、用戶可調閾值影響頁面替換算法的結果。以下各節(jié)較詳細地描述了空閑列表和頁面替換機制??臻e列表VMM維護一個空閑頁面幀的邏輯列表,它用于解決缺頁故障。在絕大多數環(huán)境中,VMM偶爾必須通過重新指定由運行進程占有的一些頁面幀來添加到空閑列表中。需要重新指定頁面幀的虛擬內存頁由VMM的頁面替換算法進行選擇。VMM閾值決定了重新指定的幀的數量。持久段與工作段對比持久段的頁面在磁盤上的存儲位置是永久性的。包含數據或可執(zhí)行程序的文件映射到持久段中。因為

5、持久段的每一頁都有永久的磁盤存儲位置,所以當頁面被更改且不能再留在實際內存中時,VMM將該頁寫回到那個位置。當頁面被選擇放置到空閑列表中時,如果它沒有更改過則不需要IO操作。如果后來再次引用到該頁,那么就從它的永久磁盤存儲位置讀入一個新副本。工作段是暫時的,它們僅在由進程使用時才存在,且沒有永久的磁盤存儲位置。進程堆棧和數據區(qū)域映射到工作段,這一點和內核文本段、內核擴展文本段、共享庫文本段和數據段相同。當工作段的頁面不能保存在實際內存中

6、時,它們也必須占有磁盤存儲位置。磁盤調頁空間就是用于這個目的。下列插圖顯示某些類型的段和它們的頁面在磁盤上的位置之間的關系。它還顯示了頁面在實際內存中時實際(專有)的位置。圖形持久和工作存儲段.該插圖顯示某些類型的段和它們的頁面在磁盤上的位置之間的關系。它還顯示了頁面在實際內存中時實際(專有)的位置。工作段是暫時的,這意味著它們僅在由進程使用時才存在并且沒有永久的磁盤存儲位置。進程堆棧和數據區(qū)域映射到工作段,這一點和內核文本段、內核擴展

7、文本段、共享庫文本段和數據段相同。當工作段的頁面不能保存在實際內存中時,它們也必須占有磁盤存儲位置。磁盤調頁空間就是用于這個目的。引用)和重新調頁故障(引用已經調出的頁)。然后它可以盡量平衡文件(持久數據)頁面的調出和計算(工作存儲器或程序文本)頁面的調出。當進程退出時,它的工作存儲器立刻釋放并且它的關聯內存幀也放回到空閑列表中。然而由該進程打開的任何文件可保留在內存中。如果線程在單處理器上運行,那么頁面替換可直接在線程作用域中進行。在

8、多處理器系統中,頁面替換通過內核進程lrud進行,在達到閾值minfree時,該進程被分派到CPU中。從AIX4.3.3開始,內核進程lrud是多線程的,每個存儲池中一個線程。根據CPU數量和RAM大小將實際內存劃分成平均大小的存儲池。系統中存儲池的數量可通過運行命令vmtuneA來確定。在AIX4.3.3和后續(xù)版本中,使用命令vmtunem更改存儲池數量,這將在系統引導時進行配置。數值minfree和maxfree在命令vmtune的

9、輸出中,它們是每個存儲池的minfree和maxfree的總和。重新調頁缺頁故障要么是新頁故障要么是重新調頁故障。如果沒有最近引用頁面的記錄的話,會出現一個新頁故障。而出現重新調頁故障是指一個知道其最近已經引用的頁再次被引用,但由于該頁在上次訪問后已經被替換(可能寫到磁盤上)而在內存中找不到它。理想的頁面替換策略通過總是替換那些不會再次引用的頁面幀而完全減少重新調頁故障(假設有足夠的實際內存)。因而重新調頁故障數是頁面替換算法有效性的一

10、個相反評測標準,算法將頻繁被重用的頁面保存在內存中,從而降低了總體IO需求并潛在地改善了系統性能。為了分清一個缺頁故障是新頁故障還是重新調頁故障,VMM維護一個重新調頁歷史記錄緩沖區(qū),它包含N個最近缺頁故障的頁面標識,其中N是內存可保留的幀數。例如,512MB內存需要一個128KB的重新調頁歷史記錄緩沖區(qū)。在頁面調進時,如果它的標識可在重新調頁歷史記錄緩沖區(qū)中找到,則將它計為一個重新調頁。VMM還可以分別評估計算內存重新調頁率和文件內存

11、重新調頁率,只需為每種類型的內存維護重新調頁故障計數即可。每次頁面替換算法運行時都將重新調頁率乘以0.9,這樣可比歷史重新調頁活動更有力地反映最近的重新調頁活動。VMM閾值幾個數字閾值定義了VMM的目標。當超出這些閾值中的一個時,VMM會采取適當的操作將內存狀態(tài)恢復到限定范圍內。本節(jié)討論的閾值可由系統管理員用命令vmtune進行更改??臻e列表中頁面幀的數量受下列參數控制:minfree空閑列表中可接受的實際內存頁面幀的最小數量。當空閑列

12、表的大小低于這個數時,VMM開始替換頁面。它將一直替換頁面直到空閑列表的大小達到maxfree。maxfree通過VMM頁面替換空閑列表可達到的最大大小。當進程終止并釋放它們的工作段頁面或刪除其頁面在內存中的文件時,結果是空閑列表的大小可能會超過這個數。VMM試圖保持空閑列表的大小大于或等于minfree。當缺頁故障或系統需求導致空閑列表大小低于minfree時,頁面替換算法就開始運行。由于幾個原因,空閑列表的大小必須保持在某個級別之上

13、(缺省值是minfree)。例如,操作系統的順序預取算法每次需要幾個幀用于每個正在進行順序讀取的進程。而且VMM必須避免在操作系統自身內部產生死鎖,如果沒有足夠的空間讀取需要釋放頁面幀的頁就可能出現這種情況。下列閾值以百分數的形式表示。它們表示由文件頁面(非計算段的頁面)占有的機器全部實際內存中的一部分。minperm如果由文件頁面占有的實際內存的百分比低于這個級別,則頁面替換算法既替換文件頁面也替換計算頁面,而不管重新調頁率。maxp

14、erm如果由文件頁面占有的實際內存的百分比高于這個級別,則頁面替換算法僅替換文件頁面。maxclient如果由文件頁面占有的實際內存的百分比高于這個級別,則頁面替換算法僅替換客戶機頁面。當由文件頁面占有的實際內存的百分比處于minperm和maxperm之間時,VMM通常只替換文件頁面,但是如果文件頁面的重新調頁率高于計算頁面的重新調頁率的話,計算頁面也被替換。頁面替換算法的主要意圖是確保計算頁面得到合理的待遇。例如,對于可能會很快再次

15、使用的程序文本頁,順序讀取長的數據文件到內存中應該不會使它們丟失。對閾值和重新調頁率使用頁面替換算法可確保合理地對待這兩種類型的頁面,但仍稍微偏向有利于計算頁面的一方。VMM內存負載控制工具進程需要實際內存頁面才可以運行。當某進程引用磁盤上的虛擬內存頁面時,由于該頁要么已經調出要么從未讀取過,所以必須調進所引用的頁面,而且一般來說,由于必須調出一個或多個頁面(如果被替換的頁已經做過修改),從而引起IO流量并延遲了進程的進度。操作系統通過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論