關(guān)于VPS內(nèi)存不足的一些說(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,原因參見(jiàn)〖關(guān)于swap的幾點(diǎn)說(shuō)明〗中的第2條。
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。
如下圖,系統(tǒng)雖然占用了13M的swap,但是沒(méi)有進(jìn)行swap交換。

(2)進(jìn)行swap,是指把數(shù)據(jù)從swap轉(zhuǎn)移到物理內(nèi)存,或者從物理內(nèi)存轉(zhuǎn)移到swap的操作,是執(zhí)行的過(guò)程。
如下圖,系統(tǒng)幾乎每秒都在進(jìn)行大量?jī)?nèi)存交換操作。
三、對(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ǔ)的。
相關(guān)文章
詳解基于Linux的LVM無(wú)縫磁盤(pán)水平擴(kuò)容
這篇文章主要介紹了詳解基于Linux的LVM無(wú)縫磁盤(pán)水平擴(kuò)容,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
CentOS8查看IP報(bào)錯(cuò):bash:ifconfig:command not found的原因及解
在使用 CentOS 8 系統(tǒng)時(shí),有時(shí)會(huì)遇到使用 ??ifconfig?? 命令查看網(wǎng)絡(luò)接口信息時(shí)出現(xiàn) ??bash: ifconfig: command not found?? 的錯(cuò)誤,所以本文給大家介紹了報(bào)錯(cuò)的原因和解決方案,需要的朋友可以參考下2025-03-03
linux_HDFS節(jié)點(diǎn)缺失問(wèn)題及解析
這篇文章主要介紹了linux_HDFS節(jié)點(diǎn)缺失問(wèn)題及解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Linux下安裝MariaDB數(shù)據(jù)庫(kù)問(wèn)題及解決方法(二進(jìn)制版本的安裝)
MariaDB數(shù)據(jù)庫(kù) 分為源代碼版本和二進(jìn)制版本,源代碼版本需要cmake編譯,這里是二進(jìn)制版本的安裝。下面通過(guò)本文給大家介紹Linux下安裝MariaDB數(shù)據(jù)庫(kù)問(wèn)題及解決方法(二進(jìn)制版本的安裝),感興趣的朋友參考下吧2016-11-11
Ubuntu?Server?22.04.5?入門(mén)篇:詳盡安裝部署指南
這篇文章主要介紹了Ubuntu?Server?22.04.5?入門(mén)篇:詳盡安裝部署指南,需要的朋友可以參考下2025-03-03

