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