天天看點

HP-UX swap相關

HP-UX swap相關: 

http://blog.163.com/[email protected]/blog/static/212951352008999243171/

下面的資訊全部摘自網絡。

第一部分  僞交換

    要了解僞交換,首先得清楚交換區的概念和HP-UX的交換機制!

    交換區,就是系統實體記憶體不足時,OS用來臨時存放實體記憶體的的一部分資料,進而騰出更多的實體記憶體空間!

    HP-UX的交換機制:系統每啟動一個程序,都會在交換區預留一定的空間(等同于該程序使用實體記憶體的大小),以防記憶體不足時,有足夠的交換區來臨時存放資料,但不一定真正使用。但是交換區預留以後,不管是不是真的被使用,就不能再被其它程序預留(使用),除非該程序運作完畢自然釋放。打個比方,酒店裡客人預定了座位,那麼這個座位就不能再接受别人的預定,除非客人打電話取消預定。當然,即使客人預定了不代表就一定來吃。和交換區預留不一樣的是:座位預定了通常客人是要來真正使用的,而交換區預留以後通常是不使用的。

    這種機制會導緻的一個問題是:如果記憶體很大,可能會導緻記憶體浪費!為什麼呢?假設系統實體記憶體是8G,那麼按照正常的設定,交換區大小是記憶體的1-2倍,就是8-16G!但是,通常的情況是,購買了大記憶體,就是為了避免記憶體不足産生交換,這種狀況下,交換區是很少有機會做真正的資料交換的。有些客戶會把交換區設為4G或者更少到2G(這完全有可能;節省存儲空間啊)!後果是,随着新程序的不斷啟動,當交換區被預留完了以後,系統就不能再啟動新的程序;而此時其實實體記憶體可能還有3G或者更多的空餘,卻什麼也不能幹了!

    為了解決這個沖突,HP-UX推出“僞交換區”的概念!就是當系統啟用僞交換以後,系統會預設為交換區的總數=實體記憶體的75%+其它交換區的總數。而這個75%的僞交換區其實是不存在的(欺騙):不在記憶體、不在硬碟或者任何檔案系統中。意思就是說,當真正的交換區用光了還要啟動新程序時,告訴系統,我的交換區還多着呢,該啟動誰盡管啟動......

    是否啟用僞交換,可以通過系統核心參數swapmem_on來設定,1表示啟用,0表示不啟用。通常,實際交換區的大小大于或等于實體記憶體大小時,這個參數啟不啟用沒什麼影響;否則建議啟用僞交換。

    但是,注意有些應用程式(很少),當啟用僞交換時,性能可能會下降!

第二部分  相關指令

# swapinfo

-t 增加類型的總計行

-m 以兆位元組為機關

-d 隻顯示裝置交換區的資訊

-f 隻顯示檔案系統交換區的資訊

-q 安靜模式,隻列印一個總kb avail

swapinfo -atm

vmstat  

vi /etc/fstab

bdf

sysdef|grep mem_on

sam  修改核心參數

----------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------

以前的SWAP太小,請問版主怎麼改它的大小呢:

from:http://www.chinaunix.net/jh/7/2538.html

----------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------

hp-ux如何檢視swap大小:

# swapinfo

-t 增加類型的總計行

-m 以兆位元組為機關

-d 隻顯示裝置交換區的資訊

-f 隻顯示檔案系統交換區的資訊

-q 安靜模式,隻列印一個總kb avail

如果裝了IGNITE工具包的話,用/opt/ignite/bin/print_manifest指令也可以看

1、dmesg,這個有時候可能看不到;

2、stm

3、sam

#machinfo

繼續閱讀