Linux设置swap分区为128g,swap分区或文件的数量与大小限制
在Linux系統(tǒng)下,這個虛擬內(nèi)存就被叫做swap。Linux swap分區(qū)是有限制的。在安裝操作系統(tǒng)的時候,安裝向?qū)崾居脩粜枰獎?chuàng)建多少的SWaP空間。通常情況下,SWaP比較合適的大小為物理內(nèi)存的1-2倍。
1. 早期的linux對虛擬內(nèi)存的限制
linux2.2以前的內(nèi)核,支持最大128M的Linux swap分區(qū)或文件。Linux swap的分區(qū)或文件總數(shù)不超過16個。
所以在linux2.2以前,可用的最大虛擬內(nèi)存為128M*8=1G.
Swap空間是分頁的,每一頁的大小和內(nèi)存頁的大小相同,方便Swap空間和內(nèi)存之間的數(shù)據(jù)交換。舊版本的Linux實現(xiàn)Swap空間時,用Swap空間的第一頁作為任何Swap空間頁的一個“位映射”(Bit map)。這就是說第一頁的每一位,都對應著一頁Swap空間。假如這一位是1,表示此頁Swap可用;假如是0,表示此頁是壞塊,不能使用。這么說來,第一個Swap映射位應該是0,因為,第一頁Swap是映射頁。另外,最后10個映射位也被占用,用來表示Swap的版本(原來的版本是Swap_space ,現(xiàn)在的版本是swapspace2)。那么,假如說一頁的大小為s,這種Swap的實現(xiàn)方法共能管理“8 * ( s - 10 ) - 1”個Swap頁。對于i386系統(tǒng)來說s=4096,則空間大小共為133890048,假如認為1 MB=2^20 Byte的話,大小正好為128M。
之所以這樣來實現(xiàn)Swap空間的管理,是要防止Swap空間中有壞塊。假如系統(tǒng)檢查到Swap中有壞塊,則在相應的位映射上標記上0,表示此頁不可用。這樣在使用Swap時,不至于用到壞塊,而使系統(tǒng)產(chǎn)生錯誤。
2. Linux2.2.x對虛擬內(nèi)存的限制
現(xiàn)在的系統(tǒng)設計者認為:.
1.現(xiàn)在硬盤質(zhì)量很好,壞塊很少。.
2.就算有,也不多,只需要將壞塊羅列出來,而無需為每一頁建立映射。...
3.假如有很多壞塊,就不應該將此硬盤作為Swap空間使用。..
于是,現(xiàn)在的Linux取消了位映射的方法,也就取消了128M的限制。直接用地址訪問,限制為2G。.
Linux2.2.x支持最大2G的Linux swap分區(qū)或文件。Linux swap的分區(qū)或文件總數(shù)不超過8個。
所以在Linux2.2.x,可用的最大虛擬內(nèi)存為 2G*8=16G
3. Linux2.4.x對虛擬內(nèi)存的限制
Linux2.4.10之前支持最大2G的Linux swap分區(qū)或文件。Linux swap的分區(qū)或文件總數(shù)不超過8個。
所以在 Linux2.4.10之前,可用的最大虛擬內(nèi)存為 2G*8=16G
Linux2.4.10(含)之后支持最大2G的Linux swap分區(qū)或文件。Linux swap的分區(qū)或文件總數(shù)不超過32個。
所以在 Linux2.4.10之后,可用的最大虛擬內(nèi)存為 2G*32=64G
Linux2.4.x在內(nèi)存管理策略上,就如Windows98向Windows2000轉(zhuǎn)變一樣,在內(nèi)存和交換區(qū)中保存了更多的臟頁,而不是及時回收內(nèi)存,以此提高系統(tǒng)的效率。
此外,如果你有超過1塊磁盤,并且分別在不同的磁盤上建立了Linux swap,那么linux會按照raid 0的方式來使用這些交換分區(qū)。
總結(jié)
以上是生活随笔為你收集整理的Linux设置swap分区为128g,swap分区或文件的数量与大小限制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++获取图像的长宽 opencv_【第
- 下一篇: 与context的关系_你还不知道 Op