1、 HP-UX的交換分區機制:
系統每啟動一個進程,都會在交換區預留一定的空間(等同於該進程使用實體記憶體的大小),以防記憶體不足時,有足夠的交換區來臨時存放資料,但不一定真正使用。但是交換區預留以後,不管是不是真的被使用,就不能再被其它進程預留(使用),除非該進程運行完畢自然釋放。
那麼這裡就一個矛盾,大記憶體的時候,SWAP分區不會設定為記憶體的1-2倍,通常會比記憶體小,那麼這個機制就導致大記憶體不能使用,這裡就引出了偽交換區的概念
2、 系統會預設為交換分區的總數
交換分區的總數=實體記憶體的75%+其它交換區的總數(75%的虛假交換區的前提:在核心參數中設定swapmem_on=1,開啟)
3、 範例
racdb1#[/]swapinfo -atm
Mb Mb Mb PCT START/ Mb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 8192 0 8192 0% 0 - 1 /dev/vg00/lvol2
dev 8192 0 8192 0% 0 - 1 /dev/vg00/lv_swap01
reserve - 13687 -13687
memory 124169 86058 38111 69%
total 140553 99745 40808 71%
看看total的利用率,最好dev的使用率為0%
註:
dev 駐留在海量存放裝置上的分頁空間
reserve 保留的分頁空間。這是當前正在啟動並執行進程可能需要的分頁空間容量(這與實際進程所用的實體記憶體大小相等),但是尚未從上述分頁區之一(dev,fs,localfs)進行分配
對於裝置分頁區,該值始終為“—”。對於檔案系統分頁區,該值是為普通使用者使用的檔案系統保留的1KB塊的數量,與為swapon 提供的reserve值相同
memory 記憶體分頁區(pseudo-swap (虛假swap),也稱為偽交換)。這是在上述所有分頁區均用完的情況下,可用於儲存頁的系統記憶體容量
pseudo-swap是為了使用大記憶體,減少DEV SWAP的容量而設定的,使用了1%和100%對實際的系統效能沒有任何影響。如果真的有也要換出,會使用真的物理swap