日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Solaris 性能監(jiān)控的Swap空間管理( 二 )



另外,Swap分區(qū)的數(shù)量對性能也有很大的影響 。因為Swap交換的操作是磁盤I/O的操作,如果有多個Swap交換區(qū),Swap空間的分配會以輪流的方式操作于所有的Swap,這樣會大大均衡I/O的負載,加快Swap交換的速度 。如果只有一個交換區(qū),所有的交換操作會使交換區(qū)變得很忙,使系統(tǒng)大多數(shù)時間位于等待狀態(tài),效率很低,用性能監(jiān)視工具就會發(fā)現(xiàn),此時的CPU并不很忙,而系統(tǒng)卻慢,這說明,瓶頸在I/O上,依靠提高CPU的速度是解決不了問題的 。

性能監(jiān)視

Swap空間的分配固然很重要,而系統(tǒng)在運行時的性能監(jiān)控卻更加有價值,通過性能監(jiān)視工具可以檢查系統(tǒng)的各項性能指標,找到系統(tǒng)性能的瓶頸 。本文只介紹一下在Solaris下和Swap相關(guān)的一些命令和用途 。

最常用的是Vmstat命令,在大多數(shù)Unix平臺下都有此命令,此命令可以查看大多數(shù)性能的指標 。

另外使用swap -s 也能簡單的查看當前swap資源的使用情況 。例如:
# swap -s
total: 65896k bytes allocated + 56840k reserved = 122736k used, 1069456k available

能夠方便的看出swap空間的已用和未用資源的大小 。應(yīng)該使Swap保持30%的負載以下,才能保證系統(tǒng)的良好性能 。

Solaris中Swap的特點

虛擬Swap空間

本來Swap空間就是為虛擬內(nèi)存服務(wù)的,現(xiàn)在Solaris的Swap空間也成為虛擬,這到底是怎么回事呢?

讓我們看一個例子就明白了,當在Solaris 2以前版本的Solaris(或其它Unix,如Linux)上編程時經(jīng)常會出現(xiàn)一個問題:

假設(shè)系統(tǒng)當前還有可用的內(nèi)存空間為30M,而只剩下10M的Swap空間了,這時,如果有一個進程開始運行并企圖執(zhí)行Malloc(15*1024*1024)的命令(分配15M空間),這個進程會因為這個命令而失敗 。

為什么呢?系統(tǒng)不是有30M可用的內(nèi)存空間嗎?原因在于:你的Swap空間不足,系統(tǒng)認為你在分配空間以后,沒有能力(空間)在發(fā)生頁面交換時,將這部分數(shù)據(jù)保存起來,因此認為你沒有資格分配這塊空間 。這不是太不公平了吧!也許這15M空間根本不用交換,當前系統(tǒng)可是還有30M內(nèi)存空間的富余啊!

還有更不公平的呢?有些大型系統(tǒng)配備了海量的內(nèi)存,1G或4G,配了這么多內(nèi)存就是為了避免交換,提高運行速度,可是系統(tǒng)還要為這個系統(tǒng)分配并不需要的Swap空間,占用了大量磁盤資源 。

為了彌補這個缺陷,Sun為Solaris 2 以后的版本設(shè)計了虛擬Swap空間 。所謂虛擬的Swap空間,概念其實很簡單,swap空間再也不是單指硬盤的分區(qū)或文件 。虛擬Swap空間包含兩個部分:部分物理內(nèi)存和傳統(tǒng)上的Swap分區(qū) 。經(jīng)過適當?shù)呐渲?,可以使系統(tǒng)需要Swap空間時,先使用內(nèi)存部分的swap空間,如果內(nèi)存部分的swap空間不夠,再使用磁盤部分的Swap空間 。這樣,也許你硬盤上的Swap空間很少得到使用了,甚至根本不需要Swap分區(qū) 。

Swap空間與TMPFS文件系統(tǒng)的關(guān)系

你知道嗎?虛擬Swap空間與 /tmp目錄有相當大的關(guān)系 。Sun在實現(xiàn)
/tmp目錄時,充分考慮了應(yīng)用程序運行的效率 。許多應(yīng)用程序,特別是數(shù)據(jù)庫服務(wù)都會頻繁使用
/tmp目錄作為臨時數(shù)據(jù)保存區(qū),而Solaris將
/tmp目錄下的文件都放在內(nèi)存中而不是硬盤里,這樣會大大提高應(yīng)用程序的效率 。

但是/tmp目錄的空間是從系統(tǒng)虛擬空間里擠出來的,是虛擬Swap空間的一部分 。如果說,你用完了/tmp空間,也就是用完了Swap空間,所以要小心監(jiān)視系統(tǒng)的/tmp目錄的使用情況,千萬別用光了,否則系統(tǒng)會癱瘓!下面兩點建議作為參考:

1.在Mount /tmp目錄時,使用(-o Size)選項來控制/tmp目錄的大小 。

2.當使用編譯器編譯文件時,如果不想占用Swap空間,則用TMPDIR環(huán)境變量指向另外一個臨時目錄,而不是/tmp目錄 。

推薦閱讀