麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Solaris > 正文

Solaris7 交流 --- swap管理(SWAP的用處)

2024-07-26 00:29:56
字體:
供稿:網(wǎng)友
五、swap管理(SWAP的用處)   

本文介紹了在Solaris平臺上Swap(交換)空間的基本概念、實現(xiàn)的原理以及對Swap(  

交換)空間進行監(jiān)控的方法和調(diào)整的策略。  

什么是SWAP(交換)空間   

對于一般的Solaris系統(tǒng)管理員來說,很少會接觸Swap(交換)空間,在他們看來Swap  

區(qū)只不過是磁盤上的一兩個分區(qū)或是幾個Swap(交換)文件,當(dāng)系統(tǒng)沒有足夠的物理內(nèi)  

存來處理當(dāng)前進程的時候,就利用Swap(交換)空間作為虛擬內(nèi)存的臨時存儲空間,這  

種說法從技術(shù)角度來說是沒有錯的,但Solaris在實現(xiàn)Swap時有其非常獨特的地方。  

SWAP空間作用   

眾所周知,現(xiàn)代操作系統(tǒng)都實現(xiàn)了“虛擬內(nèi)存”這一技術(shù),不但在功能上突破了物理內(nèi)  

存的限制,使程序可以操縱大于實際物理內(nèi)存的空間,更重要的是“虛擬內(nèi)存”是隔離  

每個進程的安全保護網(wǎng),使每個進程不受其他程序的干擾。  

Swap空間的作用可簡單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時候,就需要將物理內(nèi)存中  

的一部分空間釋放出來,以供當(dāng)前運行的程序使用。那些被釋放的空間可能來自一些很  

長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程  

序要運行時,再從Swap中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時  

,才進行Swap交換。這種現(xiàn)象對于計算機使用者是經(jīng)常遇到的。  

有一點要聲明的是,并不是所有從物理內(nèi)存中交換出來的數(shù)據(jù)都會被放到Swap中(如果  

這樣的話,Swap會不堪重負),有相當(dāng)一部分的數(shù)據(jù)直接交換到文件系統(tǒng)。例如,有的  

程序會打開一些文件,對文件進行讀寫(其實每個程序都至少打開一個文件,那就是運行  

程序本身),當(dāng)這些程序的內(nèi)存空間需要交換出去時,文件部分的數(shù)據(jù)就沒有必要放到  

Swap空間中了,如果是讀文件操作,那么內(nèi)存數(shù)據(jù)直接就釋放了,不需要交換出來,因  

為下次需要時,直接從文件系統(tǒng)就能恢復(fù);如果是寫文件,只需要將變化的數(shù)據(jù)保存到文  

件中,以便恢復(fù)。但是那些用malloc(3C)和new函數(shù)生成的對象的數(shù)據(jù)則不同,需要  

Swap空間,因為它們在文件系統(tǒng)中沒有相應(yīng)的“儲備”文件,因此被稱為“匿名”  

(Anonymous)的內(nèi)存數(shù)據(jù),這類數(shù)據(jù)還包括堆棧中的一些狀態(tài)和變量數(shù)據(jù)等,所以說,  

Swap空間是“匿名”數(shù)據(jù)的交換空間。  

Swap的配置對性能的影響   

太多的Swap空間會浪費磁盤的空間,而太少的Swap空間,系統(tǒng)則會發(fā)生錯誤。  

如果系統(tǒng)的物理內(nèi)存用光了,你的系統(tǒng)就會跑得慢,但仍能運行;如果Swap空間用光了  

,那么系統(tǒng)就會發(fā)生錯誤。例如,Web服務(wù)器能根據(jù)不同的請求數(shù)量衍生出多個服務(wù)進程  

(或線程),如果Swap空間用完,則服務(wù)進程無法進動,通常會出現(xiàn)"application is   

out of memory"的錯誤,嚴重時會造成服務(wù)進程的死鎖。因此Swap空間的分配是很重要  

的。  

通常情況下,Swap空間應(yīng)大于或等于物理內(nèi)存的大小,最小不應(yīng)小于64M,通常Swap空間  

的大小應(yīng)是物理內(nèi)存的2-2.5倍(Solaris 2以上的版本有所變化,見下文)。但根據(jù)不  

同的應(yīng)用,應(yīng)有不同的配置:如果是小的桌面系統(tǒng),只需要較小的Swap空間,而大的服  

務(wù)器系統(tǒng)則視情況不同需要不同大小的Swap空間。特別是數(shù)據(jù)庫服務(wù)器和Web服務(wù)器會隨  

著訪問量的增加,對Swap 空間的要求也會增加,具體配置參見各自服務(wù)器產(chǎn)品的說明。  

另外,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)的各項性能指標(biāo),找到系統(tǒng)性能的瓶頸。本文只介紹一下在Solaris下  

和Swap相關(guān)的一些命令和用途。  

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

的指標(biāo)。  

另外使用swap -s 也能簡單的查看當(dāng)前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空間也成為虛擬,這到底是  

怎么回事呢? 讓我們看一個例子就明白了,當(dāng)在Solaris 2以前版本的Solaris(或其它  

Unix, 如linux)上編程時經(jīng)常會出現(xiàn)一個問題:  

假設(shè)系統(tǒng)當(dāng)前還有可用的內(nèi)存空間為30M,而只剩下10M的Swap空間了,這時,如果有一  

個進程開始運行并企圖執(zhí)行Malloc(15*1024*1024)的命令(分配15M空間),這個進程  

會因為這個命令而失敗。  

為什么呢?系統(tǒng)不是有30M可用的內(nèi)存空間嗎?原因在于:你的Swap空間不足,系統(tǒng)認為  

你在分配空間以后,沒有能力(空間)在發(fā)生頁面交換時,將這部分數(shù)據(jù)保存起來,因此  

認為你沒有資格分配這塊空間。這不是太不公平了吧!也許這15M空間根本不用交換,當(dāng)  

前系統(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)過適當(dāng)?shù)呐渲茫梢允瓜到y(tǒng)需要  

Swap空間時,先使用內(nèi)存部分的swap空間,如果內(nèi)存部分的swap空間不夠,再使用磁盤  

部分的Swap空間。這樣,也許你硬盤上的Swap空間很少得到使用了,甚至根本不需要  

Swap分區(qū)。  

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

你知道嗎?虛擬Swap空間與 /tmp目錄有相當(dāng)大的關(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.當(dāng)使用編譯器編譯文件時,如果不想占用Swap空間,則用TMPDIR環(huán)境變量指向另外一  

個臨時目錄,而不是/tmp目錄。  

   

增加Swap空間   

1.成為超級用戶 $su - root  

2.創(chuàng)建Swap文件 #mkfile nnn[klblm] filename  

如:#mkfile 100m swapfile1  

3.激活Swap文件  

#/usr/sbin/swap -a /path/filename  

Swap文件必須以絕對路徑來指定,filename指的是上一步創(chuàng)建的文件。  

4.現(xiàn)在新加的Swap文件已經(jīng)起作用了,但系統(tǒng)重新啟動以后,并不會記住前幾步的操作  

。因此要在/etc/vfstab文件中記錄文件的名字,和Swap類型,如:  

/path/filename - - Swap - no -  

5.效驗Swap文件是否加上 /usr/sbin/swap -l  

刪除多余的Swap空間   

1.成為超級用戶  

2.使用swap -d 命令收回swap空間。  

#/usr/sbin/swap -d /path/filename  

3.編輯/etc/ufstab文件,去掉此Swap(交換)文件的實體。  

4.從文件系統(tǒng)中回收此文件。  

#rm swap-filename  

5.當(dāng)然,如果此Swap(交換)空間不是一個文件,而是一個分區(qū),則需創(chuàng)建一個新的文件  

系統(tǒng),再掛接到原來的文件系統(tǒng)上。  

    

例子:card.263.net  

增加文件系統(tǒng):在/etc/vfstab中增加  

swap - /var/spool/postfix tmpfs - yes -  
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产九色91| av成人在线免费观看 | 国产精品久久久久久久久久iiiii | 成人毛片视频在线播放 | 欧洲精品视频在线观看 | 亚洲片在线 | 91久久国产露脸精品国产护士 | 国产草草视频 | 久久精品无码一区二区三区 | 国产视频第一区 | 国产精品自拍片 | 国产精品亚洲一区二区三区在线观看 | 51色视频| 午夜视频导航 | 欧美一级片一区 | av电影免费观看 | 日本在线播放一区二区三区 | 久久久国产精品网站 | 久久免费激情视频 | 久久在线免费视频 | 免费观看视频在线观看 | 免费观看视频网站 | 亚洲天堂ww | 真人一级毛片免费 | 国产亚洲欧美日韩高清 | 古装三级在线观看 | 欧美精品国产综合久久 | 免费观看黄色一级视频 | 国产精品久久久久久久不卡 | 黄色一级电影网 | 高清国产在线 | 国产69精品久久久久久久久久 | 日韩毛片毛片久久精品 | 草莓视频在线导航 | 92看片淫黄大片欧美看国产片 | 免费观看三级毛片 | 日韩毛片网 | 亚欧美一区二区 | 日本一区二区免费在线观看 | 国产一区二区精彩视频 | 2017亚洲男人天堂 |