AIX交換空間管理與查看... 2
一, 交換磁盤空間概念... 2
1.1 虛擬內(nèi)存... 2
1.2 虛擬內(nèi)存管理器(VMM) 2
1.3 交換(分頁(yè))空間概念... 3
1.4請(qǐng)求分頁(yè)... 3
二, 查看交換磁盤空間... 4
2.1 lsps命令... 4
2.2 使用vmo命令檢查AIX如何處理分頁(yè)空間分配... 4
2.3 vmstat監(jiān)視分頁(yè)控件的顛簸... 5
2.4 svmon檢查正在使用交換空間的進(jìn)程... 5
2.5 交換空間檢查實(shí)例... 8
三, 管理交換磁盤空間... 9
四, 優(yōu)化交換磁盤空間... 9
AIX交換空間管理與查看
AIX的內(nèi)存頁(yè)面大小為4K, 是虛擬內(nèi)存管理(VMM)的最小單位. 頁(yè)面空間也可以被稱為交換空間(paging space), 創(chuàng)建在屬性類型為paging的邏輯卷(logic volume LV)上. 交換空間是一項(xiàng)很重要的設(shè)備. AIX kernel需要利用paging space來管理虛擬內(nèi)存. 系統(tǒng)安裝時(shí)創(chuàng)建的默認(rèn)頁(yè)面LV是hdisk0上的hd6, 也叫主交換空間.
AIX5L默認(rèn)采用交換空間的延遲分配策略(deferred page space allocation), 利用環(huán)境變量psalloc來控制內(nèi)存的機(jī)制與頁(yè)面的分配策略, 缺省設(shè)置是late. 在這種設(shè)置下, 知識(shí)需要用到的時(shí)候, 才去分配交換空間, 正常情況下, 不需要很大的交換空間, 所以適合大內(nèi)存的系統(tǒng), 可以減少很多paging space資源的浪費(fèi).
一, 交換磁盤空間概念 1.1 虛擬內(nèi)存內(nèi)存在計(jì)算機(jī)中的作用很大,電腦中所有運(yùn)行的程序都需要經(jīng)過內(nèi)存來執(zhí)行,如果執(zhí)行的程序很大或很多,就會(huì)導(dǎo)致內(nèi)存消耗殆盡。為了解決這個(gè)問題,Windows中運(yùn)用了虛擬內(nèi)存技術(shù),即拿出一部分硬盤空間來充當(dāng)內(nèi)存使用,當(dāng)內(nèi)存占用完時(shí),電腦就會(huì)自動(dòng)調(diào)用硬盤來充當(dāng)內(nèi)存,以緩解內(nèi)存的緊張。舉一個(gè)例子來說,如果電腦只有128MB物理內(nèi)存的話,當(dāng)讀取一個(gè)容量為200MB的文件時(shí),就必須要用到比較大的虛擬內(nèi)存,文件被內(nèi)存讀取之后就會(huì)先儲(chǔ)存到虛擬內(nèi)存,等待內(nèi)存把文件全部?jī)?chǔ)存到虛擬內(nèi)存之后,跟著就會(huì)把虛擬內(nèi)里儲(chǔ)存的文件釋放到原來的安裝目錄里了。
允許設(shè)置的虛擬內(nèi)存最小值為2MB,最大值不能超過當(dāng)前硬盤的剩余空間值,同時(shí)也不能超過操作系統(tǒng)的內(nèi)存尋址范圍。
1.2 虛擬內(nèi)存管理器(VMM)VMM服務(wù)于來自系統(tǒng)以及應(yīng)用程序的內(nèi)存請(qǐng)求. 虛擬內(nèi)存段以頁(yè)為單位進(jìn)行分區(qū), 每個(gè)頁(yè)面大小為4KB.VMM就是用來管理這些存儲(chǔ)頁(yè)面.
1, 實(shí)際內(nèi)存管理
在AIX中,虛擬內(nèi)存段被分成4096字節(jié)大小的頁(yè),物理內(nèi)存則被劃分為4096字節(jié)大小的頁(yè)幀(page frame),VMM主要有以下兩個(gè)主要功能:
(1) 管理頁(yè)幀的分配
(2) 解析對(duì)當(dāng)前沒有調(diào)入RAM中的虛擬內(nèi)存頁(yè)的引用
為了完成上述功能,VMM維護(hù)一個(gè)可用幀列表,并且使用一個(gè)頁(yè)面替換算法決定哪些當(dāng)前在RAM中的虛擬內(nèi)存頁(yè)使用的頁(yè)幀將被分配到可以可用幀列表。頁(yè)面替換算法將考慮永久段(Persistent segment)和工作段(Working segment)的分配、頁(yè)交換和VMM閾值等因素。
2, 永久段(Persistent segment)和工作段(Working segment)
AIX 區(qū)分不同的存儲(chǔ)段類型。理解不同的存儲(chǔ)段類型,特別是工作段和永久段的區(qū)別非常重要。
永久段在磁盤上有一個(gè)永久的存儲(chǔ)位置。含有不可編輯數(shù)據(jù)的文件或者只讀的運(yùn)行程序被映射到持久段。VMM 參數(shù)控制什么時(shí)候分配給永久段的RAM頁(yè)幀可以被重寫,并且用于存儲(chǔ)新的數(shù)據(jù)。
工作段是臨時(shí)性的,僅在它們被某個(gè)進(jìn)程使用的時(shí)候存在,并且沒有固定的磁盤位置。進(jìn)程堆棧以及數(shù)據(jù)區(qū),共享庫(kù)文本被映射到工作段。當(dāng)工作段數(shù)據(jù)也不能存在于“實(shí)”存中的時(shí)候,他們被保存在磁盤上的頁(yè)交換空間。程序退出執(zhí)行,所有工作段占用的頁(yè)面被返回。
3, VMM 內(nèi)存調(diào)用控制機(jī)制
當(dāng)一個(gè)進(jìn)程引用一個(gè)在磁盤上的虛擬內(nèi)存頁(yè),被引用的頁(yè)先要換到頁(yè)幀中,如果內(nèi)存已經(jīng)滿了,這可能導(dǎo)致一個(gè)或更多的頁(yè)從頁(yè)幀中換出,以騰出空間。這種情況一般發(fā)生在可用頁(yè)幀數(shù)已經(jīng)很低的情況。而VMM將使用前述頁(yè)交換算法來滿足系統(tǒng)對(duì)內(nèi)存的需要。
一個(gè)有效的頁(yè)交換算法要保持當(dāng)前活動(dòng)進(jìn)程所使用的頁(yè)總是在RAM中,而非活動(dòng)進(jìn)程使用的存儲(chǔ)頁(yè)將被移出。但是當(dāng)RAM不足的時(shí)候,選擇移出頁(yè)將很困難,因?yàn)楸灰瞥龅捻?yè)可能很快又要被引用,這導(dǎo)致一些頁(yè)面被頻繁的換入換出。系統(tǒng)大部分時(shí)間在做頁(yè)交換而不是執(zhí)行進(jìn)程指令。VMM使用存儲(chǔ)器調(diào)用控制算法來檢測(cè)這種情況,并予以糾正。
1.3 交換(分頁(yè))空間概念什么是交換(分頁(yè))空間?它是與 VMM 有關(guān)的。VMM 使用交換(分頁(yè))空間存儲(chǔ)沒有使用活動(dòng)RAM 的進(jìn)程。分頁(yè)空間本身是一個(gè)特殊的邏輯卷,它存儲(chǔ)了當(dāng)前不訪問的信息。您必須確保您的系統(tǒng)擁有足夠的分頁(yè)空間。如果分頁(yè)空間過小,整個(gè)進(jìn)程可能會(huì)丟失,并且當(dāng)所有的空間都占滿后,系統(tǒng)可能會(huì)崩潰。盡管值得再次說明,分頁(yè)空間是 VMM 中的一部分,但是更重要的是真正地理解內(nèi)核如何將進(jìn)程調(diào)入到 RAM 中,過多的分頁(yè)肯定會(huì)對(duì)性能造成影響。AIX 通過將內(nèi)核與 VMM 緊密集成在一起,實(shí)現(xiàn)了一種稱為請(qǐng)求分頁(yè)的方法。
1.4請(qǐng)求分頁(yè)在這個(gè)部分中,我介紹了 AIX 如何處理分頁(yè),給出了交換和分頁(yè)的定義,并深入地研究了分頁(yè)空間分配的幾種不同模式。這些概念可以幫助您理解后續(xù)有關(guān)監(jiān)視、配置和優(yōu)化的部分。
大多數(shù)管理員都認(rèn)為分頁(yè)是一件很麻煩的事情。實(shí)際上,分頁(yè)是 AIX 所完成的任務(wù)中非常必要的一部分,這是由于 AIX 內(nèi)核與 VMM 及其請(qǐng)求分頁(yè)的實(shí)現(xiàn)進(jìn)行了緊密的集成。請(qǐng)求分頁(yè)的工作原理是,內(nèi)核一次僅加載部分頁(yè)面到實(shí)際內(nèi)存中。當(dāng) CPU 需要另一個(gè)頁(yè)面時(shí),它會(huì)到 RAM 中查找。如果無法在 RAM 中找到這個(gè)頁(yè)面,則出現(xiàn)一次缺頁(yè),然后向內(nèi)核發(fā)出信號(hào)以便從磁盤中加載更多的頁(yè)面到 RAM。請(qǐng)求分頁(yè)的一個(gè)優(yōu)點(diǎn)是,分頁(yè)空間不需要非常大,因?yàn)閿?shù)據(jù)總是在分頁(yè)空間和 RAM 之間不斷地交換。在較早的 UNIX? 系統(tǒng)中,將分頁(yè)預(yù)先分配到磁盤,無論使用還是不使用它們。這使得所分配的磁盤空間可能永遠(yuǎn)不會(huì)被使用。從本質(zhì)上說,請(qǐng)求分頁(yè)可以避免盲目地分配磁盤空間。應(yīng)該使得進(jìn)程的交換最少,因?yàn)樵S多任務(wù)可能存儲(chǔ)在 RAM 中。的確如此,因?yàn)檫M(jìn)程(頁(yè)面)只有一部分存儲(chǔ)在 RAM 中。
交換指的是什么呢?盡管分頁(yè)和交換通??梢曰Q使用,但它們之間存在細(xì)微的區(qū)別。如前所述,在進(jìn)行分頁(yè)時(shí),進(jìn)程的部分內(nèi)容將在磁盤和 RAM 之間來回移動(dòng)。當(dāng)發(fā)生交換時(shí),會(huì)將整個(gè)進(jìn)程來回移動(dòng)。為了支持這種情況,在將進(jìn)程移動(dòng)到分頁(yè)空間之前,AIX 會(huì)掛起整個(gè)進(jìn)程。只有在將進(jìn)程交換回 RAM 之后,才能夠繼續(xù)執(zhí)行它。出現(xiàn)這樣的情況并不是很好,您應(yīng)該盡量防止交換的發(fā)生,交換可能會(huì)導(dǎo)致另一種稱為顛簸的情況(稍后將介紹這個(gè)內(nèi)容)發(fā)生。
二, 查看交換磁盤空間 2.1 lsps命令Lsps主要用來顯示調(diào)頁(yè)空間的特征.
lsps { -s | [ -c | -l ] { -a | -t { lv | nfs } | PagingSpace } }
1, -a, 指定要給出的所有調(diào)頁(yè)空間的特征.
# lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type
hd6 hdisk0 rootvg 8192MB 13 yes yes lv
2, -c, 指定輸出應(yīng)該使用冒號(hào)格式. 在邏輯分區(qū)中以冒號(hào)格式給出調(diào)頁(yè)空間大小
# lsps -c -a
#Psname:Pvname:Vgname:Size:Used:Active:Auto:Type
hd6:hdisk0:rootvg:32:13:y:y:lv
3, -l, 指定輸出應(yīng)該使用表格式
4, 指定要給出的所有調(diào)頁(yè)空間的概要特征. 如果指定-s標(biāo)記, 忽略所有其他標(biāo)記
# lsps -as
Total Paging Space Percent Used
8192MB 13%
2.2 使用vmo命令檢查AIX如何處理分頁(yè)空間分配# vmo -a | grep def
defps = 1
vmo命令用來管理虛擬內(nèi)存管理器可調(diào)參數(shù). –a顯示所有可調(diào)參數(shù)的當(dāng)前, 重新引導(dǎo)或永久值.
上述顯示defps=1說明使用了這種缺省的方法(延遲的頁(yè)面空間分配)。要禁用這個(gè)策略,您需要將參數(shù)設(shè)置為 0。這將使得系統(tǒng)使用晚分頁(yè)空間分配策略。晚分頁(yè)空間分配策略會(huì)在 RAM 中相應(yīng)的頁(yè)面被修改時(shí)才分配分頁(yè)磁盤塊。這種方法通常用于那些性能比可靠性更加重要的環(huán)境。在本文所介紹的場(chǎng)景中,程序可能會(huì)因?yàn)槿鄙賰?nèi)存而運(yùn)行失敗。那么早頁(yè)面空間分配又如何呢?如果您希望確保進(jìn)程不會(huì)因?yàn)檩^低的分頁(yè)情況而終止,通??梢允褂眠@種策略。早頁(yè)面空間分配策略可以預(yù)先分配分頁(yè)空間。這是與晚分頁(yè)空間分配策略截然相反的。對(duì)于可靠性要求很高的環(huán)境,可以使用這種策略。啟用這種策略的方法是將 PSALLOC 環(huán)境變量設(shè)置為 early (PSALLOC=early)
2.3 vmstat監(jiān)視分頁(yè)控件的顛簸# vmstat 2 4
System configuration: lcpu=4 mem=3824MB
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 479301 2384 0 0 0 0 0 0 5 1045 74 0 0 99 0
0 0 479300 2385 0 0 0 0 0 0 6 965 86 0 0 99 0
0 0 479300 2385 0 0 0 0 0 0 5 976 90 0 0 99 0
0 0 479300 2385 0 0 0 0 0 0 6 1026 79 0 0 99 0
欄
說明
Avm
系統(tǒng)使用的活動(dòng)虛擬內(nèi)存量(單位為4K), 不包括文件頁(yè)面
Fre
空閑內(nèi)存列表的大小, 一般不應(yīng)該小于vmo中設(shè)置的minfree.
Pi
從交換空間調(diào)入的頁(yè)面數(shù)
Po
調(diào)出到交換空間的頁(yè)面數(shù)
2.4 svmon檢查正在使用交換空間的進(jìn)程Svmon命令主要用來捕獲并分析虛擬內(nèi)存快照.
該命令報(bào)告進(jìn)程的語法為
svmon -P [ PID1... PIDN ] [ -r [ -n | -s ] [ -w | -f | -c ] [ -t Count ] [ -u | -p | -g | -v ] [ -i Interval [ NumIntervals] ] [ -l ] [ -j ] [ -z ] [ -m ] [ -q ]
svmon命令是虛擬內(nèi)存的監(jiān)視命令, svmon可以用于確認(rèn)某個(gè)程序, 用戶, 內(nèi)存段使用內(nèi)存或虛存的情況. 它事實(shí)上是調(diào)用svmon back命令, 在使用svmon命令之前, 必須確定svmon back命令可用, 該命令位置為/usr/lib/perf/svmon_back
svmon在運(yùn)行過程中可以被中斷, 所以,它無法真正成為內(nèi)存使用情況的快照. 在非常繁忙的系統(tǒng)中, svmon收集的數(shù)據(jù)和真實(shí)的數(shù)據(jù)有所差距, 在svmon進(jìn)程搜集的過程中, vmm可能已經(jīng)發(fā)生改動(dòng)了.
因?yàn)閟vmon使用的全是vmm中的數(shù)據(jù), 而vmm對(duì)內(nèi)存的視圖是基于內(nèi)存段的, 所以理解svmon的輸出, 必須先理解段的概念.
段是一組頁(yè)的集合, 每個(gè)段為256M, 而每頁(yè)為4KB的虛存, 每幀為4KB的實(shí)際內(nèi)存, 每個(gè)段可以被多個(gè)進(jìn)程使用, 每個(gè)段屬于以下五種類型的一種.
Persistent(持久段): 存放JFS文件或目錄.
Working(工作段): 存放進(jìn)程數(shù)據(jù)或共享內(nèi)存段.
Client(): 用于實(shí)現(xiàn)虛擬文件系統(tǒng)如NFS, CD-ROM文件系統(tǒng)和JFS2;
Mapping(): 用于實(shí)現(xiàn)文件和內(nèi)存之間的映射關(guān)系.
Real memory mapping: 用于對(duì)IO空間的訪問.
注意, 在段的描述中, 如果paging space使用的節(jié)中有一橫(-) , 表明該段未使用交換區(qū), working段可能使用交換區(qū), 但persistent和client不會(huì)使用交換區(qū).
1, 列出使用實(shí)際內(nèi)存最多的三個(gè)進(jìn)程.
# svmon -uP -t 3|grep -p Pid | grep '^.*[0-9]'
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
442460 oracle 271187 7953 179711 275344 Y N N
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
1155298 oracle 264700 7953 176642 272827 Y N N
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
323600 oracle 264684 7953 178168 274243 Y N N
由上面的顯示我們可以計(jì)算pid=442460的進(jìn)程使用的實(shí)際內(nèi)存為 271187*4K = 1059M
欄
說明
PID
表示進(jìn)程標(biāo)識(shí)符
Command
進(jìn)程正在運(yùn)行的命令
Inuse
進(jìn)程使用的段中的實(shí)際內(nèi)存的頁(yè)面總數(shù)(計(jì)算大小應(yīng)乘以4092B)
Pin
固定內(nèi)存: 進(jìn)程使用的段中固定內(nèi)存的頁(yè)面總數(shù)
Pgsp
交換空間: 進(jìn)程使用的段在調(diào)頁(yè)空間上保留或使用的頁(yè)面總數(shù)
Virtual
在進(jìn)程虛擬空間中分配的頁(yè)面總數(shù)
64-bit
是64位進(jìn)程(Y)還是32位進(jìn)程(N)
Mthrd
進(jìn)程是否為多線程(Y)
16MB
進(jìn)程的大頁(yè)面狀態(tài). “M”表示強(qiáng)制性, “Y”表示進(jìn)程使用或已經(jīng)使用大頁(yè)面段, “N”表示進(jìn)程不使用大頁(yè)面.
2, 列出使用交換區(qū)最多的三個(gè)進(jìn)程
svmon -gP -t 5 | grep -p Pid | grep '^.*[0-9]'
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
462924 oracle 264568 7953 188139 283991 Y N N
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
442460 oracle 271480 7953 179707 275342 Y N N
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
323600 oracle 264804 7953 178164 274241 Y N N
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
1179830 oracle 251210 7953 177081 272633 Y N N
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
299146 oracle 251246 7953 177065 272687 Y N N
由上面的顯示計(jì)算出, 使用交換空間最大的進(jìn)程用到的交換區(qū)間大小為 188139 * 4092 = 734 MB
3, 查看進(jìn)程462924使用了哪些文件
# svmon -pP 462924
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB
462924 oracle 264566 7953 188139 283989 Y N N
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
0 0 work kernel segment s 8068 7931 3849 12181
40a54 f00000002 work process private s 27 22 3 29
6cabf 8fffffff work private load data s 0 0 36 36
18026 9ffffffe work shared library s 13 0 14 14
30a0 90000000 work shared library text s 1062 0 68 2759
1c843 - clnt /dev/fslv03:92 s 2 0 - -
84a6 - clnt /dev/fslv01:76408 s 0 0 - -
18482 - clnt /dev/fslv01:143871 s 2 0 - -
204ac - clnt /dev/fslv01:76409 s 0 0 - -
4525 70000003 work default shmat/mmap s 0 0 0 0
244ad - clnt /dev/fslv03:76 s 6 0 - -
184e2 70000005 work default shmat/mmap s 38968 0 21088 40950
8926 - clnt /dev/fslv03:88 s 2 0 - -
c527 - clnt /dev/fslv01:191039 s 0 0 - -
50830 - clnt /dev/fslv03:78 s 2 0 - -
344a9 70000007 work default shmat/mmap s 39557 0 25293 45057
10540 - clnt /dev/fslv03:75 s 2 0 - -
44475 - clnt /dev/fslv03:91 s 635 0 - -
8566 - clnt /dev/fslv03:87 s 528 0 - -
14941 - clnt /dev/fslv03:85 s 2 0 - -
3c4ab - clnt /dev/fslv03:77 s 0 0 - -
408b4 - clnt /dev/fslv03:81 s 2 0 - -
444b5 - clnt /dev/fslv03:71 s 36 0 - -
4c497 - clnt /dev/fslv01:191040 s 0 0 - -
30508 70000006 work default shmat/mmap s 62488 0 34002 65520
484b6 - clnt /dev/fslv03:70 s 36 0 - -
30748 - clnt /dev/fslv03:79 s 6 0 - -
34509 70000008 work default shmat/mmap s 57007 0 54623 59208
3ca6b 11 work text data BSS heap s 318 0 12706 13052
4c4b7 - clnt /dev/fslv03:69 s 60 0 - -
404f4 - clnt /dev/fslv03:68 s 2 0 - -
7881a - clnt /dev/fslv03:80 s 6 0 - -
4c4d7 - clnt /dev/fslv03:66 s 8802 0 - -
3852a - clnt /dev/fslv01:76412 s 0 0 - -
40514 70000002 work default shmat/mmap s 0 0 0 0
484f6 - clnt /dev/fslv03:67 s 600 0 - -
6049c 10 clnt text data BSS heap, s 8518 0 - -
/dev/fslv01:73964
70478 - clnt /dev/fslv03:84 s 2 0 - -
604bc - clnt /dev/fslv03:86 s 2 0 - -
8226 9fffffff clnt USLA text,/dev/hd2:2165 s 9 0 - -
48536 80020014 work USLA heap s 0 0 104 104
70498 - clnt /dev/fslv01:190026 s 0 0 - -
3c56b - clnt /dev/fslv03:89 s 6 0 - -
684be 70000009 work default shmat/mmap s 31632 0 33846 38930
7c47b - clnt /dev/fslv03:82 s 1370 0 - -
784ba - clnt /dev/fslv03:90 s 2 0 - -
54951 9001000a work shared library data s 18 0 48 89
744d9 - clnt /dev/fslv03:65 s 980 0 - -
50570 - clnt /dev/fslv03:83 s 0 0 - -
c687 70000000 mmap maps 1 source(s) s 0 0 - -
6851e 70000004 work default shmat/mmap s 0 0 0 0
20a4c 8001000a work private load data s 1 0 146 146
3822a 90020014 work shared library s 58 0 95 96
34a49 70000001 work default shmat/mmap s 3580 0 553 4076
48a16 ffffffff work application stack s 8 0 6 14
4001 9ffffffd work shared library s 141 0 1659 1728
欄
說明
VSid
虛擬段標(biāo)識(shí)符, 在VMM中的唯一段
Esid
有效的段標(biāo)識(shí)符, 只有在段屬于進(jìn)程空間時(shí)才有效. 如果vsid段被幾個(gè)進(jìn)程映射, 但具有不同的sid值, 那么該字段包含”-“.
Type
段的類型
Description
段的文本描述, 列的內(nèi)容取決于段的類型和用途
Psize
表示該段是否使用大頁(yè)面
Inuse
段中的實(shí)際內(nèi)存頁(yè)數(shù)
Pin
段中的固定內(nèi)存頁(yè)數(shù)
Pgsp
該段在調(diào)頁(yè)空間上的頁(yè)數(shù)
Virtual
分配給段的虛擬空間的頁(yè)數(shù)
2.5 交換空間檢查實(shí)例1, 使用swap命令查看交換磁盤空間信息
# swap -l
device maj,min total free
/dev/hd6 10, 2 8192MB 7166MB
結(jié)果說明, 系統(tǒng)中定義了一個(gè)交換分區(qū). 分區(qū)使用了8192-7166=1026MB的空間.
2, 檢查當(dāng)前交換空間剩余情況
# lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type
hd6 hdisk0 rootvg 8192MB 13 yes yes lv
如果上面顯示的%used較高, 則可能會(huì)出現(xiàn)危險(xiǎn). 這時(shí)需要檢查系統(tǒng)登錄時(shí)間, 如果登錄已經(jīng)很久了, 可以考慮重啟系統(tǒng)以輕快數(shù)據(jù)庫(kù)緩存, 這樣就可以釋放虛擬內(nèi)存.
3, uptime檢查系統(tǒng)啟動(dòng)時(shí)間
# uptime
05:28PM up 181 days, 16:15, 1 user, load average: 0.00, 0.00, 0.00
三, 管理交換磁盤空間可以通過如下命令創(chuàng)建一個(gè)交換空間
#mkps -s’16′ -n -a datavg hdisk2
其中-s表示pp個(gè)數(shù),-n表示啟動(dòng)后是否自動(dòng)激活,-a表示是否當(dāng)時(shí)激活。
可以采用如下命令改變交換空間大小
新增加10個(gè)pp
#chps -s’10′ paging00
減少10個(gè)pp
#chps -d’10′ paging00
shrinkps: Temporary paging space paging01 created.
shrinkps: Paging space paging00 removed.
shrinkps: Paging space paging00 recreated with new size.
對(duì)于5L以上的版本,可以直接用chps -d來操作hd6
#chps -d’10′ hd6
shrinkps: Temporary paging space paging00 created.
shrinkps: New boot image created with temporary paging space.
shrinkps: Paging space hd6 removed.
shrinkps: Paging space hd6 recreated with new size.
shrinkps: New boot image created with resized paging space.
如果要使交換空間處于非活動(dòng)狀態(tài),可以采用
#swapoff /dev/’paging00′
相反,處于活動(dòng)狀態(tài)可以采用
#swapon /dev/’paging00′
如果要?jiǎng)h除一個(gè)ps交換空間,必須先使這個(gè)空間處于非活動(dòng)狀態(tài),然后采用命令rmps刪除。如
#rmps ‘paging00′
rmlv: Logical volume paging00 is removed.
四, 優(yōu)化交換磁盤空間系統(tǒng)究竟需要多大的交換空間?
首先, 我們認(rèn)為將分頁(yè)空間的大小設(shè)置為RAM的兩倍(以前的基本原則). 通常來說, 如果我的系統(tǒng)擁有超過4GB的內(nèi)存, 我會(huì)按照RAM的大小來創(chuàng)建分頁(yè)空間.在投入運(yùn)行之后, 要經(jīng)常監(jiān)視系統(tǒng), 如果看到分頁(yè)空間的利用率從來都沒有接近過百分之五十, 就不需要添加額外的空間. Oracle為AIX提供的文檔推薦設(shè)置交換空間為RAM大小的一半加上4GB, 但是上限為32GB.