中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Linux系統(tǒng)swap分區(qū)太小的補(bǔ)救措施

2019-09-09    來源:愛站科技

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

  虛擬內(nèi)存可以使應(yīng)用程序可以操縱大于實(shí)際物理內(nèi)存的空間,但在Linux系統(tǒng)下這個(gè)虛擬內(nèi)存叫做swap,一般情況下swap的大小為物理內(nèi)存的1-2倍,當(dāng)swap分區(qū)太小的時(shí)候怎么辦呢?我們現(xiàn)在就看看Linux系統(tǒng)swap分區(qū)太小的補(bǔ)救措施。

  為了突破物理內(nèi)存的限制,在操作系統(tǒng)中實(shí)現(xiàn)了“虛擬內(nèi)存”技術(shù)。它使得應(yīng)用程序可以操縱大于實(shí)際物理內(nèi)存的空間。而且虛擬內(nèi)存可以用來隔離每個(gè)進(jìn)程,成為進(jìn)程的安全保護(hù)網(wǎng),使得每個(gè)進(jìn)程都不受其他程序的干擾。如果swap空間不夠會產(chǎn)生什么負(fù)面作用呢?簡單的來說,如果系統(tǒng)的物理內(nèi)存用光了,系統(tǒng)就反映速度會變得很慢,但是操作系統(tǒng)仍能運(yùn)行;如果Swap空間用光了,那么系統(tǒng)就會發(fā)生錯(cuò)誤。例如,Web服務(wù)器能根據(jù)不同的請求數(shù)量衍生出多個(gè)服務(wù)進(jìn)程或線程,如果Swap空間用完,則服務(wù)進(jìn)程無法啟動,就會出現(xiàn)swap空間不足的錯(cuò)誤,嚴(yán)重時(shí)會造成服務(wù)進(jìn)程的死鎖。可見Swap空間的分配是很重要的。如果swap空間太小會造成應(yīng)用程序錯(cuò)誤,而不光光是性能下降的問題。

  在Linux系統(tǒng)下,這個(gè)虛擬內(nèi)存就被叫做swap。在安裝操作系統(tǒng)的時(shí)候,安裝向?qū)崾居脩粜枰獎(jiǎng)?chuàng)建多少的swap空間。通常情況下,swap比較合適的大小為物理內(nèi)存的1-2倍。但是有些應(yīng)用程序的話,對于swap分區(qū)比較饑渴,如JAVA或者Oracle應(yīng)用程序,他們要求swap分區(qū)的大小能夠達(dá)到物理內(nèi)存的2倍以上。此時(shí)原先在安裝系統(tǒng)的時(shí)候?yàn)槠浞峙涞膕wap分區(qū)就太小了。那么該如何補(bǔ)救呢?

  筆者以前就遇到過類似的問題。有一臺Linux服務(wù)器,上面已經(jīng)部署了文件服務(wù)器。后來出于部署ERP系統(tǒng)的需要,要在這臺服務(wù)器上部署一個(gè)Oracle數(shù)據(jù)庫系統(tǒng)。不過Oracle數(shù)據(jù)庫系統(tǒng)對swap的空間有要求。如果不滿足這個(gè)要求的話,Oracle操作系統(tǒng)無法安裝。而筆者不能夠通過重裝Linux服務(wù)器的方式來擴(kuò)展swap空間,因?yàn)樯厦孢運(yùn)行著文件服務(wù)器。為此筆者只好通過其他途徑來實(shí)現(xiàn)這個(gè)需求了。針對這種情況,Linux系統(tǒng)提出了兩種補(bǔ)救措施,分別為創(chuàng)建新的swap空間和創(chuàng)建swap 文件。筆者是通過創(chuàng)建swap文件的方式來調(diào)整swap空間的。如上圖所示,筆者就在home目錄下創(chuàng)建了一個(gè)swap文件,并且通過啟動配置文件讓其隨著系統(tǒng)的啟動而自動啟用。如此配置之后,Oracle數(shù)據(jù)庫系統(tǒng)就可以順利安裝了。

  這兩種調(diào)整方式的具體的實(shí)現(xiàn)方式如下所示。

  措施一:創(chuàng)建新的swap空間,增加swap容量。

  如果在Linux服務(wù)器的硬盤中還有比較多的空余容量,或者系統(tǒng)管理員添置了新硬盤,此時(shí)就可以利用Linux系統(tǒng)自帶的fdisk硬盤格式化工具,來創(chuàng)建新的swap分區(qū)。具體的操作如下:

  第一步:創(chuàng)建新的分區(qū)。如筆者在服務(wù)器硬盤中還有一個(gè)20G的分區(qū)沒有使用過,就可以利用fdisk磁盤格式化工具,來創(chuàng)建新的分區(qū)。具體fdisk命令的使用方法大家可以參考其它的相關(guān)資料,筆者在這里就不過多展開了。在使用這個(gè)工具的時(shí)候,如果要把分區(qū)設(shè)置為swap分區(qū),則需要注意要把空間設(shè)置為擴(kuò)展分區(qū)。然后再在擴(kuò)展分區(qū)上設(shè)置一個(gè)邏輯分區(qū)。如此的話,為后續(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)的代號。通常情況下swap文件系統(tǒng)的代號為82。然歐再繼續(xù)后續(xù)的工作。如果不修改的話,則系統(tǒng)默認(rèn)會采用ext3文件系統(tǒng)格式。

  第三步:格式化并啟動swap分區(qū)格式。當(dāng)fdisk命令執(zhí)行完畢后,還必須重新啟動計(jì)算機(jī),剛才的設(shè)置才會生效。但是,fdisk命令只是劃分出了一個(gè)swap分區(qū),系統(tǒng)還是無法使用這個(gè)分區(qū),因?yàn)檫@個(gè)分區(qū)還沒有格式化與啟動。與微軟操作系統(tǒng)一樣,當(dāng)劃分出一個(gè)分區(qū)之后,系統(tǒng)管理員還需要格式化這個(gè)分區(qū)。為此,系統(tǒng)管理員需要通過mkswap命令來對剛才劃分的swap分區(qū)進(jìn)行格式化。不過與微軟操作系統(tǒng)不同的是,對分區(qū)格式化之后,這個(gè)新的分區(qū)默認(rèn)情況下是沒有啟動的,第一次需要通過系統(tǒng)管理員手工啟動它。此時(shí)系統(tǒng)管理員需要采用的命令是swapon,來啟動swap分區(qū)。

  通過以上簡單的三個(gè)步驟,就可以在硬盤為用的空間中或者新添加的硬盤中增加一個(gè)swap分區(qū),以實(shí)現(xiàn)擴(kuò)大swap分區(qū)容量的目的。不過這里需要注意一點(diǎn),在使用fdisk工具的時(shí)候,會把目標(biāo)空間中的內(nèi)容都刪除。為此只有當(dāng)目標(biāo)空間中沒有存儲文件或者存儲的文件不再需要時(shí)才使用這種方法。如果現(xiàn)在系統(tǒng)中沒有未使用的空間;但是已有的分區(qū)中則有多余的空間,則就需要采用另外一種方法,即通過增加swap文件的方式來調(diào)整swap空間容量。

  措施二:創(chuàng)建swap文件調(diào)整swap容量。

  當(dāng)系統(tǒng)中的硬盤空間已經(jīng)全部分配給其它分區(qū),此時(shí)就不適合采用fdisk命令來增加swap分區(qū)的容量。因?yàn)檫@個(gè)命令會刪除目標(biāo)空間的文件。遇到這種情況時(shí),系統(tǒng)管理員需要采用創(chuàng)建swap文件的方式來增加虛擬的swap空間。簡單的說,就是在硬盤中創(chuàng)建一個(gè)虛擬的swap文件。通過這個(gè)文件讓其在系統(tǒng)硬盤中劃分出一個(gè)空間,供swap空間使用。

  第一步:創(chuàng)建swap 文件。

  系統(tǒng)管理員可以利用“dd bs= count=”這個(gè)命令來創(chuàng)建swap文件。這個(gè)命令中主要采用了bs與count兩個(gè)參數(shù)。其中bs參數(shù)制定每次讀取及輸入多少個(gè)字節(jié)。因?yàn)橛脖P存取的最小單位為扇區(qū),所以設(shè)置bs參數(shù)就相當(dāng)于設(shè)置每個(gè)扇區(qū)的大小。通常情況下這個(gè)參數(shù)設(shè)置為32為好。參數(shù)count則主要是用來設(shè)置可以使用扇區(qū)的數(shù)量。所以這個(gè)文件所占用的空間就是以上連個(gè)參數(shù)的乘積。這里需要注意的是,如果要增加swap文件容量,往往是通過調(diào)整count參數(shù)來實(shí)現(xiàn)的。也就是說,bs參數(shù)一般就是32,不需要去動它。

  第二步格式化并啟動swap 文件。

  跟上面的方法一樣,建立好文件之后還需要格式化這個(gè)文件并啟用它。這主要是因?yàn)榈浆F(xiàn)在為止,這個(gè)文件用的還是硬盤中原來的文件系統(tǒng)格式,如為ext3等等。這個(gè)文件系統(tǒng)格式是不能夠用來做swap分區(qū)的擴(kuò)展的。為此系統(tǒng)管理員需要先通過mkswap工具把這個(gè)文件格式化為swap文件格式。然后再使用swapon命令啟用這個(gè)文件。這個(gè)特性有點(diǎn)像微軟操作系統(tǒng)中的動態(tài)磁盤的概念。

  雖然這兩種方式都可以解決swap分區(qū)過小的問題,但是這跟在安裝操作系統(tǒng)的時(shí)候劃分swap分區(qū)還是有一定的區(qū)別。如通過以上兩種方式建立的swap分區(qū),不會隨著系統(tǒng)的重新啟動而自動啟動。而系統(tǒng)安裝時(shí)設(shè)置的swap分區(qū)則會在開機(jī)時(shí)自動啟動。如果每次開機(jī)后都要手工執(zhí)行swapon命令來啟動swap分區(qū)或者文件的話,那么這也太麻煩了。為了解決這個(gè)問題,就需要修改Linux系統(tǒng)的啟動配置文件。如系統(tǒng)管理員可以在啟動配置文件中加入一行內(nèi)容,讓Linux系統(tǒng)開機(jī)時(shí)自動啟動swap分區(qū)以及文件。除了這個(gè)自動啟動以外,在性能上也有一定的差異。特別是通過swap文件來創(chuàng)建虛擬的swap空間,其執(zhí)行性能要比真實(shí)的swap空間性能要差一點(diǎn)。不過其好處是不會對現(xiàn)有分區(qū)中的文件造成影響。

  所以雖然Linux官方檢疫Swap空間的容量最好為內(nèi)存的1-2倍。但是在實(shí)際工作中有些應(yīng)用程序則對此提出了特殊的要求。為此在Linux系統(tǒng)安裝完畢之后,系統(tǒng)工程師有時(shí)還不得不對swap容量進(jìn)行調(diào)整。

  以上就是Linux系統(tǒng)swap分區(qū)太小的補(bǔ)救措施,上文中介紹的兩種方式是比較簡單使用的調(diào)整方式,系統(tǒng)管理員可以嘗試著使用。相信能夠給大家?guī)硪馔獾捏@喜

標(biāo)簽: Linux swap分區(qū)太小

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Linux管理員易犯的錯(cuò)誤

下一篇:Linux 下如何實(shí)現(xiàn)遠(yuǎn)程開機(jī)