創(chuàng)建新的swap空間來(lái)增加swap容量
我們知道SWaP 是一個(gè)客觀的三維方法,為當(dāng)今服務(wù)器的評(píng)估提供了現(xiàn)實(shí)而且富有綜合性的標(biāo)準(zhǔn)。那么,我們就發(fā)現(xiàn)了問(wèn)題,如果SWaP空間不夠會(huì)產(chǎn)生什么負(fù)面作用呢?
簡(jiǎn)單的來(lái)說(shuō),如果系統(tǒng)的物理內(nèi)存用光了,系統(tǒng)就反映速度會(huì)變得很慢,但是操作系統(tǒng)仍能運(yùn)行;如果SWaP空間用光了,那么系統(tǒng)就會(huì)發(fā)生錯(cuò)誤。
例如,Web服務(wù)器能根據(jù)不同的請(qǐng)求數(shù)量衍生出多個(gè)服務(wù)進(jìn)程或線(xiàn)程,如果SWaP空間用完,則服務(wù)進(jìn)程無(wú)法啟動(dòng),就會(huì)出現(xiàn)SWaP空間不足的錯(cuò)誤,嚴(yán)重時(shí)會(huì)造成服務(wù)進(jìn)程的死鎖??梢?jiàn)SWaP空間的分配是很重要的。如果SWaP空間太小會(huì)造成應(yīng)用程序錯(cuò)誤,而不光光是性能下降的問(wèn)題。
在Linux系統(tǒng)下,這個(gè)虛擬內(nèi)存就被叫做SWaP。在安裝操作系統(tǒng)的時(shí)候,安裝向?qū)?huì)提示用戶(hù)需要?jiǎng)?chuàng)建多少的SWaP空間。通常情況下,SWaP比較合適的大小為物理內(nèi)存的1-2倍。
但是有些應(yīng)用程序的話(huà),對(duì)于SWaP分區(qū)比較饑渴,如JAVA或者Oracle應(yīng)用程序,他們要求SWaP分區(qū)的大小能夠達(dá)到物理內(nèi)存的2倍以上。此時(shí)原先在安裝系統(tǒng)的時(shí)候?yàn)槠浞峙涞腟WaP分區(qū)就太小了。那么該如何補(bǔ)救呢?
筆者以前就遇到過(guò)類(lèi)似的問(wèn)題。有一臺(tái)Linux服務(wù)器,上面已經(jīng)部署了文件服務(wù)器。后來(lái)出于部署ERP系統(tǒng)的需要,要在這臺(tái)服務(wù)器上部署一個(gè)Oracle數(shù)據(jù)庫(kù)系統(tǒng)。不過(guò)Oracle數(shù)據(jù)庫(kù)系統(tǒng)對(duì)SWaP的空間有要求。
如果不滿(mǎn)足這個(gè)要求的話(huà),Oracle操作系統(tǒng)無(wú)法安裝。而筆者不能夠通過(guò)重裝Linux服務(wù)器的方式來(lái)擴(kuò)展SWaP空間,因?yàn)樯厦孢€運(yùn)行著文件服務(wù)器。為此筆者只好通過(guò)其他途徑來(lái)實(shí)現(xiàn)這個(gè)需求了。
針對(duì)這種情況,Linux系統(tǒng)提出了一種補(bǔ)償措施,創(chuàng)建新的SWaP空間,增加SWaP容量。
措施:創(chuàng)建新的SWaP空間,增加SWaP容量。
如果在Linux服務(wù)器的硬盤(pán)中還有比較多的空余容量,或者系統(tǒng)管理員添置了新硬盤(pán),此時(shí)就可以利用Linux系統(tǒng)自帶的fdisk硬盤(pán)格式化工具,來(lái)創(chuàng)建新的SWaP分區(qū)。具體的操作如下:
第一步:創(chuàng)建新的分區(qū)。如筆者在服務(wù)器硬盤(pán)中還有一個(gè)20G的分區(qū)沒(méi)有使用過(guò),就可以利用fdisk磁盤(pán)格式化工具,來(lái)創(chuàng)建新的分區(qū)。具體fdisk命令的使用方法大家可以參考其它的相關(guān)資料,筆者在這里就不過(guò)多展開(kāi)了。
在使用這個(gè)工具的時(shí)候,如果要把分區(qū)設(shè)置為SWaP分區(qū),則需要注意要把空間設(shè)置為擴(kuò)展分區(qū)。然后再在擴(kuò)展分區(qū)上設(shè)置一個(gè)邏輯分區(qū)。如此的話(huà),為后續(xù)維護(hù)與管理提供了方便。如管理員可以陸續(xù)增加SWaP空間等等。
第二步:將分區(qū)的文件系統(tǒng)設(shè)置為SWaP文件系統(tǒng)。
默認(rèn)情況下系統(tǒng)新增加的分區(qū)其文件格式為ext3。為了讓這個(gè)分區(qū)成為SWaP分區(qū),則需要把這個(gè)分區(qū)的文件格式改為SWaP文件系統(tǒng)。這個(gè)任務(wù)也是在fdisk命令中完成。
如果要把這個(gè)分區(qū)格式改為SWaP,則在fdisk命令執(zhí)行時(shí),當(dāng)提示hex code時(shí),系統(tǒng)管理員需要輸入SWaP文件系統(tǒng)的代號(hào)。通常情況下SWaP文件系統(tǒng)的代號(hào)為82。然歐再繼續(xù)后續(xù)的工作。如果不修改的話(huà),則系統(tǒng)默認(rèn)會(huì)采用ext3文件系統(tǒng)格式。
第三步:格式化并啟動(dòng)SWaP分區(qū)格式。當(dāng)fdisk命令執(zhí)行完畢后,還必須重新啟動(dòng)計(jì)算機(jī),剛才的設(shè)置才會(huì)生效。但是,fdisk命令只是劃分出了一個(gè)SWaP分區(qū),系統(tǒng)還是無(wú)法使用這個(gè)分區(qū),因?yàn)檫@個(gè)分區(qū)還沒(méi)有格式化與啟動(dòng)。
與微軟操作系統(tǒng)一樣,當(dāng)劃分出一個(gè)分區(qū)之后,系統(tǒng)管理員還需要格式化這個(gè)分區(qū)。為此,系統(tǒng)管理員需要通過(guò)mkSWaP命令來(lái)對(duì)剛才劃分的SWaP分區(qū)進(jìn)行格式化。不過(guò)與微軟操作系統(tǒng)不同的是,對(duì)分區(qū)格式化之后,這個(gè)新的分區(qū)默認(rèn)情況下是沒(méi)有啟動(dòng)的,第一次需要通過(guò)系統(tǒng)管理員手工啟動(dòng)它。此時(shí)系統(tǒng)管理員需要采用的命令是SWaPon,來(lái)啟動(dòng)SWaP分區(qū)。
通過(guò)以上簡(jiǎn)單的三個(gè)步驟,就可以在硬盤(pán)為用的空間中或者新添加的硬盤(pán)中增加一個(gè)SWaP分區(qū),以實(shí)現(xiàn)擴(kuò)大SWaP分區(qū)容量的目的。不過(guò)這里需要注意一點(diǎn),在使用fdisk工具的時(shí)候,會(huì)把目標(biāo)空間中的內(nèi)容都刪除。
為此只有當(dāng)目標(biāo)空間中沒(méi)有存儲(chǔ)文件或者存儲(chǔ)的文件不再需要時(shí)才使用這種方法。如果現(xiàn)在系統(tǒng)中沒(méi)有未使用的空間;但是已有的分區(qū)中則有多余的空間,則就需要采用另外一種方法,即通過(guò)增加SWaP文件的方式來(lái)調(diào)整SWaP空間容量。
【編輯推薦】