一、關(guān)于swap的幾點(diǎn)說(shuō)明
1,swap一般稱(chēng)作為“交換空間”,其作用相當(dāng)于Windows上的“虛擬內(nèi)存”。
2,swap實(shí)際上是硬盤(pán)上的一塊空間。
3,swap內(nèi)保存的數(shù)據(jù)并不能直接供CPU直接使用。CPU如果想用swap內(nèi)的數(shù)據(jù),需要先把數(shù)據(jù)從硬盤(pán)轉(zhuǎn)移到內(nèi)存,然后再交給CPU。
4,swap內(nèi)保存的是暫時(shí)不使用的或者使用頻率很低的數(shù)據(jù)。
5,數(shù)據(jù)從swap到內(nèi)存的速度比從內(nèi)存到cpu的速度,要慢幾百倍甚至上千倍。
二、關(guān)于內(nèi)存不足
1,swap存在的意義在于存放不經(jīng)常使用的數(shù)據(jù),而不是物理內(nèi)存放不下的數(shù)據(jù)。
2,如果經(jīng)常使用的數(shù)據(jù)在物理內(nèi)存中存放不下,內(nèi)核會(huì)被迫將部分?jǐn)?shù)據(jù)分配到swap。
3,如果第2條所寫(xiě)的發(fā)生了,接下來(lái)會(huì)產(chǎn)生大量的硬盤(pán)讀寫(xiě)IO
4,接上條,大量的硬盤(pán)讀寫(xiě)IO會(huì)產(chǎn)生的后果為:
(1)CPU在處理運(yùn)算時(shí)會(huì)有大量的時(shí)間在等待硬盤(pán)IO,嚴(yán)重影響服務(wù)器的響應(yīng)速度。
(2)同服務(wù)器上的其他VPS都會(huì)受到影響(除非使用的不是同一硬盤(pán))。
5,*請(qǐng)注意區(qū)分“使用swap”和“進(jìn)行swap”:
(1)使用swap,是指數(shù)據(jù)存放在swap中,是固定的狀態(tài),不會(huì)占用硬盤(pán)IO。
(2)進(jìn)行swap,是指把數(shù)據(jù)從swap轉(zhuǎn)移到物理內(nèi)存,或者從物理內(nèi)存轉(zhuǎn)移到swap的操作,是執(zhí)行的過(guò)程。
三、對(duì)于內(nèi)存不足的建議
(1)如果內(nèi)存不足,應(yīng)該及時(shí)升級(jí)VPS內(nèi)存。否則不光會(huì)影響到自己的VPS系統(tǒng),而且會(huì)影響到其他的VPS。
(2)不要嘗試通過(guò)增加swap來(lái)解決內(nèi)存不足的問(wèn)題,問(wèn)題根源是由于物理內(nèi)存不足,再多的swap也是于事無(wú)補(bǔ)的