centos5英文版安裝 swap

2021-08-30 04:53:56 字數 1895 閱讀 8331

******************************== swap

swap,即交換區,除了安裝linux的時候,有多少人關心過它呢?其實,swap的調整對linux伺服器,特別是web伺服器的效能至關重要。通過調整swap,有時可以越過系統效能瓶頸,節省系統公升級費用。

眾所周知,現代作業系統都實現了「虛擬記憶體」這一技術,不但在功能上突破了物理記憶體的限制,使程式可以操縱大於實際物理記憶體的空間,更重要的是,「虛擬記憶體」是隔離每個程序的安全保護網,使每個程序都不受其它程式的干擾。

swap空間的作用可簡單描述為:當系統的物理記憶體不夠用的時候,就需要將物理記憶體中的一部分空間釋放出來,以供當前執行的程式使用。那些被釋放的空間可能來自一些很長時間是沒有什麼被操作的程式,這些被釋放的空間被臨時儲存到swap空間中,等到那些程式要執行時,再從swap中恢復儲存的資料到記憶體中。這樣,系統總是在物理記憶體不夠時,才進行swap交換。

計算機使用者會經常遇這種現象。例如,在使用windows系統時,可以同時執行多個程式,當你切換到乙個很長時間沒有理會的程式時,會聽到硬碟「嘩嘩」直響。這是因為這個程式的記憶體被那些頻繁執行的程式給「偷走」了,放到了swap區中。因此,一旦此程式被放置到前端,它就會從swap區取回自己的資料,將其放進記憶體,然後接著執行。

需要說明一點,並不是所有從物理記憶體中交換出來的資料都會被放到swap中(如果這樣的話,swap就會不堪重負),有相當一部分資料被直接交換到檔案系統。例如,有的程式會開啟一些檔案,對檔案進行讀寫(其實每個程式都至少要開啟乙個檔案,那就是執行程式本身),當需要將這些程式的記憶體空間交換出去時,就沒有必要將檔案部分的資料放到swap空間中了,而可以直接將其放到檔案裡去。如果是讀檔案操作,那麼記憶體資料被直接釋放,不需要交換出來,因為下次需要時,可直接從檔案系統恢復;如果是寫檔案,只需要將變化的資料儲存到檔案中,以便恢復。但是那些用malloc和new函式生成的物件的資料則不同,它們需要swap空間,因為它們在檔案系統中沒有相應的「儲備」檔案,因此被稱作「匿名」(anonymous)記憶體資料。這類資料還包括堆疊中的一些狀態和變數資料等。所以說,swap空間是「匿名」資料的交換空間。

突破128m swap限制

經常看到有些linux(國內漢化版)安裝手冊上有這樣的說明:swap空間不能超過128m。為什麼會有這種說法?在說明「128m」這個數字的來歷之前,先給問題乙個回答:現在根本不存在128m的限制!現在的限制是2g!

swap空間是分頁的,每一頁的大小和記憶體頁的大小一樣,方便swap空間和記憶體之間的資料交換。舊版本的linux實現swap空間時,用swap空間的第一頁作為所有swap空間頁的乙個「位對映」(bit map)。這就是說第一頁的每一位,都對應著一頁swap空間。如果這一位是1,表示此頁swap可用;如果是0,表示此頁是壞塊,不能使用。這麼說來,第乙個swap對映位應該是0,因為,第一頁swap是對映頁。另外,最後10個對映位也被占用,用來表示swap的版本(原來的版本是swap_space ,現在的版本是swapspace2)。那麼,如果說一頁的大小為s,這種swap的實現方法共能管理「8 * ( s - 10 ) - 1」個swap頁。對於i386系統來說s=4096,則空間大小共為133890048,如果認為1 mb=2^20 byte的話,大小正好為128m。

之所以這樣來實現swap空間的管理,是要防止swap空間中有壞塊。如果系統檢查到swap中有壞塊,則在相應的位對映上標記上0,表示此頁不可用。這樣在使用swap時,不至於用到壞塊,而使系統產生錯誤。

現在的系統設計者認為:

1.現在硬碟質量很好,壞塊很少。

2.就算有,也不多,只需要將壞塊羅列出來,而不需要為每一頁建立對映。

3.如果有很多壞塊,就不應該將此硬碟作為swap空間使用。

於是,現在的linux取消了位對映的方法,也就取消了128m的限制。直接用位址訪問,限制為2g。

swap配置對效能的影響

CentOS5安裝手記

基本安裝過程和其他linux安裝基本相同,記得在定製軟體時,選上xvsf即可 1.安裝jdk 注意修改系統預設的jdk,參考 http blog.csdn.net hbcui1984 archive 2007 01 08 1477416.aspx 2.安裝myeclipse,如果出錯,參考 http...

硬碟安裝CentOS5

背景 xp 系統,硬碟是c d e f 想在f 裝centos centos 4.92 i386 bin 1of6.iso,centos 4.92 i386 bin 2of6.iso,centos 4.92 i386 bin 6of6.iso 放到c 共 個iso 放到c 其實放到哪個盤你可以自己決...

硬碟安裝CentOS5

背景 xp 系統,硬碟是c d e f 想在f 裝centos centos 4.92 i386 bin 1of6.iso,centos 4.92 i386 bin 2of6.iso,centos 4.92 i386 bin 6of6.iso 放到c 共 個iso 放到c 其實放到哪個盤你可以自己決...