版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、IBM AIX 操作系統(tǒng)的內存調度機制剖析辛旻系統(tǒng)服務事業(yè)部 201203)(摘要 作者根據(jù)自己多年的 AIX5L 系統(tǒng)管理的經(jīng)驗,從日常使用和管理角度出發(fā),深入淺出但又較為系統(tǒng)論述了 AIX5L 操作系統(tǒng)內存調度機制,并對以往資料很少提及的Pagespace 和文件內存的使用也做了重點剖析。本文對于 AIX 系統(tǒng)管理和AIX上的應用開發(fā)了解和深入掌握AIX 系統(tǒng)均有較大幫助。 內存(Memory) 頁面空間/內存(Pagespace)內存替換(Steal)內存暫存(Pin)空余內存(Free)0. 前言IBM 公司 UNIX 系統(tǒng)(AIXAdvancederactive Executive)
2、作為使UNIX 操作系統(tǒng)之一,其內存的管理調度機制和其他用最成熟和廣泛的如Linux、HP 公司的 UNIX 系統(tǒng)(HP-UX)都有所不同,有其獨特之處。而如不對此有深刻了解,將會對其日常管理的各類內存現(xiàn)象產(chǎn)生困惑和不解,如為什么空余的內存總是非常少,為什么頁面空間(Pagespace)總是降不下來等等。深入剖析 AIX 的內存調度機制,了解其特點,對日常管理 AIX,通過各類命令調整內存調度,最終使得系統(tǒng)最大限度利用資源、持久穩(wěn)定運行都能有所幫助。1. 內存概論AIX 的整個內存按管理初步分為 4 類,(1)虛存(Vm),是所有進程申請內存的總和;(2)活動虛存(Avm ),為目前所有進程使
3、用內存總和;(3)實存,為系統(tǒng)物理配置的內存,又分為計算內存、文件內存(供文件讀寫)和空余內存(Free);(4)頁面內存(Pagespace),為系統(tǒng)擴展到硬盤上的內存,類似其他UNIX 系統(tǒng)的交換(Swap)空間,但機制又有所不同。虛存是目前所有進程理論上的內存總和,可用 ps gv 的所有進程的數(shù)據(jù)節(jié)尺寸(SIZE)列和文本節(jié)尺寸(TSIZ)列簡單相加,予以接近,實際意義不大;活動虛存為實存的計算內存和頁面內存的實際使用部分之和,可用 vms命令的avm 列看到,理想狀態(tài)為小于實存,否則就可能會產(chǎn)生內存調進調出。常說的機器內存大小,用 topas 命令,prtconf 命令,svmon實
4、存就是命令等都可以看到;由于 AIX 的管理為盡量多使用內存,只要進程沒有退出就不會,所以平時看到的空余內存(Free)非常小,但并不表示內存不夠使用。頁面內存的使用情況可觀察到內存最的情況,且為內存使用的最后領地,頁面內存滿了將直接導致系統(tǒng)不再接受新的進程,如超過 npskill 閥值將進行kill 調度。內存替換及調度的最小為 4KB,vms示計算。命令,svmon 命令均按此顯此外從頁面替換的角度看,實存又分為鎖定內存和可替換內存;對于系統(tǒng)內核和被頻繁使用的部分內存,系統(tǒng)將標記為鎖定(Pin),不參與頁面替換。可用 svmon G 命令觀察。對于計算內存和文件內存,可用topas 命令簡
5、單直觀的看到。2. 內存分配可以從一個程序開始運行變?yōu)檫M程后退出的整個過程來充分理解 AIX的內存分配機制:2.1開始運行開始運行時,AIX 有一系列動作要完成,如申請等等,這里只對內存的變化作一簡單論述。開始就會有兩個部分產(chǎn)生,共享內存(如對于 Oracle 數(shù)據(jù)庫進程,這是主要部分)和私有內存,又各自分為工作段、文本段等內存段(內存段具體可參見資料AIX5L V5.2 命令參考大全,卷 5的 svmon 命令部分)??傊诔绦蛘嬲\行之前,就會耗掉一部分內存存放代碼、文件等信息,當然這部分對內存的消耗有限, 假設空余空間(Free)足夠分配,方便下面剖析。2.2 申請內存程序開始運行,需要
6、申請內存存放數(shù)據(jù),如果空余空間足夠,就直接分配;如果分配過程中少于minfree 閥值,系統(tǒng)就會掃描內存,按預定的頁面調度算法(具體可參見AIX 性能管理指南內存頁面替換算法),要么逐步替換(Steal)文件內存,最終文件內存降到 minperm 閥值;要么產(chǎn)生頁面調出(Page Out),將其它進程的使用內存趕到頁面空間(Pagespace)里。最終滿足內存申請,值,大于minfree 閥值。2.3 使用free 內存小于 maxfree 閥原則上頻繁使用時,使用的內存將被暫存(Pin),不受頁面替換調度影響。但如此時使用不頻繁而內存緊張,此時仍有可能被趕到頁面空間(Pagespace)里。
7、2.4內存當程序使用內存結束,調用 free()程序內存時,內存不會真正馬上換。但相應頁面做有標記,在頁面調度算法中將優(yōu)先給其它進程替2.5 再次申請內存當程序再次申請內存,一般上次申請的內存還未調出實存,如果本次申請小于上次,系統(tǒng)不再分配,只需使用,替換標記有所變化;當申請大小大于上次,則同樣按申請原理分配增多部分。2.6 再次內存同樣,當程序使用內存結束,調用free()程序內存時,內存不會真正馬上程替換。但相應頁面做有標記,在頁面調度算法中將優(yōu)先給其它進2.7 讀寫大的文件當程序讀寫大的文件時,先檢查文件內存里是否已有,有則使用,否則將占用文件內存,根據(jù)頁面替換算法仍然可能發(fā)生頁面調出(
8、Page Out),將其它進程內存趕到頁面空間(Pagespace)。當文件內存超過 maxperm 閥值時仍然還在讀寫,則擠掉其它文件或網(wǎng)絡文件系統(tǒng)( Network FileSystem)的客戶端(cnt)內存。此外需要特別一提的是, 網(wǎng)絡文件系統(tǒng)(NFS)的客戶端(cnt)內存也是文件內存的一部分,由 maxcnt 閥值控制。2.8 休眠或等待當程序內存后處于休眠等待等狀態(tài)時,隨著時間的推移,曾為其分配的內存將最有可能成為被替換的對象。2.9 退出當進程正常退出或被 kill 掉時,其曾使用的數(shù)據(jù)和代碼等內存將完全釋放,包括頁面空間(Pagespace)部分,但文件內存保留。此時,空閑空
9、間(FREE)大小可能超過maxfree 閥值。當然,實際系統(tǒng)調度時更為復雜,內存調度也主要受以下內存參數(shù)的約束,這里僅從我個人理解作一說明,詳細解釋可看相關資料:minfree:當系統(tǒng)需要分配內存而空閑空間又小于此值,系統(tǒng)將調用頁面替換,直到大于此值。缺省 120,即 480KB。maxfree:當系統(tǒng)頁面調換時,發(fā)現(xiàn)空閑空間已大于此值,將停止。缺省 128,即 512KB。minperm: 當系統(tǒng)的文件內存百分比小于此值,替換算法將同時替換文件頁和計算頁。缺省為 20%。maxperm: 當系統(tǒng)的文件內存大于此值,替換算法將只替換文件頁。缺省為80%。strict_maxperm:當設為
10、1 時,文件內存將絕對不會超過 maxperm 閥值,缺省為 0。maxcnt: 作為 NFS 的cnt 使用的文件內存空間。缺省 20%。 maxpin: 不受替換算法影響的暫存/鎖定內存(pin)總數(shù)。以上參數(shù),AIX5.1 及之前 AIX4.3,可用/usr/sles/kernel/vmtune 命令來調整,需要生效,須寫入系統(tǒng)啟動。AIX5.2 之后可用vmo 命令,加-p 即可成為生效。從以上論述,就不難理解,為什么 AIX 里看內存的使用總是滿滿的,這是因為即使了內存,只要進程不退出,就不會真正變成空閑空間(Free)的,也就看不到這部分空余內存。這也是和 Liunx 等 UNIX
11、 系統(tǒng)的明顯區(qū)別所在。3. 頁面空間(Pagespace)調度對于 AIX 的Pagespace 的使用,在 AIX5.3 以前,基本是系統(tǒng)自身來調控。設定當內存緊張時,接近 minfree 閥值作為情形來做說明:發(fā)生內存申請。如果文件內存在minperm 和maxperm 之間,將優(yōu)先文件內存,也同時按替換算法將各個進程的內存部分調出到 pagespace;當文件內存少于 minperm,將優(yōu)先將各個進程的內存部分調出。如調出部分以前沒有調出過,這時將占用頁面空間(Pagespace),此時 pagespace 使用比例增加;如占用部分以前就調出過,則檢查變化,無變化就只標記,變化則更新,占
12、用比例將不變。進程進行大的文件讀寫和NFS 讀寫。這時如果系統(tǒng)文件內存沒到maxperm閥值,且以前未讀寫過此文件,系統(tǒng)按替換算法同時減少其它文件所占內存和將其它進程的計算內存調出到頁面空間(Pagespace) ,可以看到文件內存占實存比例逐漸增加,頁面空間(Pagespace)也同樣按上面原則,可能同時增加。3.3 占用大內存的進程退出。當大進程退出時,可以看到實存的空余內存(Free)值增加一大塊,但頁面空間(Pagespace)卻不一定有明顯變化。這又有 3 種情況:1)大的文件讀寫結束時,文件內存減少,頁面空間(Pagespace)沒有變化。當然隨著時間的推移,其他進程調用時,頁面空
13、間(Pagespace)內容回調,空余內存(Free)會逐步減少,但頁面空間(Pagespace)內容仍保留。2)如果該進程運行也無變化。就退出,從未被調出過,則頁面空間(Pagespace)3)只有當該進程曾被調出過,頁面空間(Pagespace)將會減少曾調出部分的大小。綜上所述,就不難理解,何時頁面空間(Pagespace)才能下降,即只有被調出過的占用頁面空間(Pagespace)的進程退出時才會下降。當然,我也發(fā)現(xiàn)了一個辦法,新開一個頁面空間(Pagespace),然后用 swapoff 命令關閉原來的一個,再用 swapon 命令激活,這樣來回是比較有效的辦法。也會降下來,在 AI
14、X5.3 前也令人欣喜的是,AIX5.3增加了對頁面空間(Pagespace)的管理,有了垃圾回收(Garbage Collection)的概念。并增加了一系列參數(shù)來調整頁面空間(Pagespace)的管理,限于篇幅,具體可可以參考ioo令幫助,或參考AIX5.3的相關資料。對此我也曾做過試驗,的確可以使得進程回調內存后,立刻面空間(Pagespace)的占用。頁4. 文件內存文件內存由內存(Pers )和客戶端內存(Cnt)組成,不計算在活動虛存(Avm)里,平時用 vms命令無法看到,用 topas 命令,svmon 命令可看出。以文件系統(tǒng)使用過程剖析這個問題:文件系統(tǒng)裝載成功:文件系統(tǒng)裝
15、載(mount)時,實際有三個可能:使用文件內存,這時缺省方式,對于絕大多數(shù)類型文件系統(tǒng)適用。不使用文件內存,需要加 dio 參數(shù),即直接讀寫。適用內存較少,或讀寫特殊的文件系統(tǒng)。筆者曾遇到 hyperion essbase 所在文件系統(tǒng)要用此參數(shù),否則性能反而下降。該參數(shù)對文件系統(tǒng)日常備份的性能影響非常明顯。3)是網(wǎng)絡文件系統(tǒng)(NFS)的話,將使用客戶端(c4.2 進程使用該文件系統(tǒng)nt)文件內存。當進程開始讀寫該文件系統(tǒng)上的文件,文件內存就開始使用,如果該文件第一次被讀寫,則進程將申請到一塊文件內存,用作高速緩存(cache),速度較慢。進程退出后,該內存仍不常明顯。,以后再有進程讀寫,則使用,速度提高非當內存緊張時,很久不用的文件內存將優(yōu)先被4.3 文件系統(tǒng)卸載。文件系統(tǒng)卸載(unmount)時,與其相關的文件內存將全部干凈,這也是為什么大文件系統(tǒng)卸載比較費時的原因。這部分內存即使沒人使用也不會自動。綜上可以看到,如果內存寬裕,就無須調配 minperm 閥值和 maxperm閥值,這樣可以充分發(fā)揮文件內存的優(yōu)勢,提高I/O 的性能。如果內存緊張,可調低ma
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 變電站設備租賃合同
- 供電協(xié)議模板
- 輸變電工程施工合同書
- 政府購買信息系統(tǒng)集成服務協(xié)議
- 農業(yè)種植項目合作合同
- 高檔寫字樓租賃合同大綱
- 倉庫租賃合同書范本長江經(jīng)濟帶版
- 企業(yè)間貸款合同樣本
- 企業(yè)銷售合同保密協(xié)議
- 互聯(lián)網(wǎng)運營實習合同
- 2023年圖書館人員管理及培訓方案(5篇)
- 企業(yè)招投標業(yè)務知識實踐培訓PPT圖文課件
- 七氟丙烷滅火系統(tǒng)課件
- oh卡牌理論-課件
- 電氣施工方案(預留預埋)
- 新教科版六年級上冊科學16《觀察水中微小的生物》課件
- Unit 1 Reading and thinking閱讀課教學設計-高中英語人教版(2019)選擇性必修第二冊
- 合唱的基本知識課件
- DB32-T 4353-2022 房屋建筑和市政基礎設施工程檔案資料管理規(guī)程
- 設備部管理評審報告
- (中職)計算機應用基礎第4章Word2010的使用課件
評論
0/150
提交評論