關于VPS內(nèi)存不足的一些說明和解決辦法
更新時間:2011年11月03日 23:30:47 作者:
關于VPS內(nèi)存不足的一些說明和解決辦法,需要的朋友可以參考下。
一、關于swap的幾點說明
1,swap一般稱作為“交換空間”,其作用相當于Windows上的“虛擬內(nèi)存”。
2,swap實際上是硬盤上的一塊空間。
3,swap內(nèi)保存的數(shù)據(jù)并不能直接供CPU直接使用。CPU如果想用swap內(nèi)的數(shù)據(jù),需要先把數(shù)據(jù)從硬盤轉(zhuǎn)移到內(nèi)存,然后再交給CPU。
4,swap內(nèi)保存的是暫時不使用的或者使用頻率很低的數(shù)據(jù)。
5,數(shù)據(jù)從swap到內(nèi)存的速度比從內(nèi)存到cpu的速度,要慢幾百倍甚至上千倍。
二、關于內(nèi)存不足
1,swap存在的意義在于存放不經(jīng)常使用的數(shù)據(jù),而不是物理內(nèi)存放不下的數(shù)據(jù)。
2,如果經(jīng)常使用的數(shù)據(jù)在物理內(nèi)存中存放不下,內(nèi)核會被迫將部分數(shù)據(jù)分配到swap。
3,如果第2條所寫的發(fā)生了,接下來會產(chǎn)生大量的硬盤讀寫IO,原因參見〖關于swap的幾點說明〗中的第2條。
4,接上條,大量的硬盤讀寫IO會產(chǎn)生的后果為:
(1)CPU在處理運算時會有大量的時間在等待硬盤IO,嚴重影響服務器的響應速度。
(2)同服務器上的其他VPS都會受到影響(除非使用的不是同一硬盤)。
5,*請注意區(qū)分“使用swap”和“進行swap”:
(1)使用swap,是指數(shù)據(jù)存放在swap中,是固定的狀態(tài),不會占用硬盤IO。
如下圖,系統(tǒng)雖然占用了13M的swap,但是沒有進行swap交換。

(2)進行swap,是指把數(shù)據(jù)從swap轉(zhuǎn)移到物理內(nèi)存,或者從物理內(nèi)存轉(zhuǎn)移到swap的操作,是執(zhí)行的過程。
如下圖,系統(tǒng)幾乎每秒都在進行大量內(nèi)存交換操作。
1,swap一般稱作為“交換空間”,其作用相當于Windows上的“虛擬內(nèi)存”。
2,swap實際上是硬盤上的一塊空間。
3,swap內(nèi)保存的數(shù)據(jù)并不能直接供CPU直接使用。CPU如果想用swap內(nèi)的數(shù)據(jù),需要先把數(shù)據(jù)從硬盤轉(zhuǎn)移到內(nèi)存,然后再交給CPU。
4,swap內(nèi)保存的是暫時不使用的或者使用頻率很低的數(shù)據(jù)。
5,數(shù)據(jù)從swap到內(nèi)存的速度比從內(nèi)存到cpu的速度,要慢幾百倍甚至上千倍。
二、關于內(nèi)存不足
1,swap存在的意義在于存放不經(jīng)常使用的數(shù)據(jù),而不是物理內(nèi)存放不下的數(shù)據(jù)。
2,如果經(jīng)常使用的數(shù)據(jù)在物理內(nèi)存中存放不下,內(nèi)核會被迫將部分數(shù)據(jù)分配到swap。
3,如果第2條所寫的發(fā)生了,接下來會產(chǎn)生大量的硬盤讀寫IO,原因參見〖關于swap的幾點說明〗中的第2條。
4,接上條,大量的硬盤讀寫IO會產(chǎn)生的后果為:
(1)CPU在處理運算時會有大量的時間在等待硬盤IO,嚴重影響服務器的響應速度。
(2)同服務器上的其他VPS都會受到影響(除非使用的不是同一硬盤)。
5,*請注意區(qū)分“使用swap”和“進行swap”:
(1)使用swap,是指數(shù)據(jù)存放在swap中,是固定的狀態(tài),不會占用硬盤IO。
如下圖,系統(tǒng)雖然占用了13M的swap,但是沒有進行swap交換。

(2)進行swap,是指把數(shù)據(jù)從swap轉(zhuǎn)移到物理內(nèi)存,或者從物理內(nèi)存轉(zhuǎn)移到swap的操作,是執(zhí)行的過程。
如下圖,系統(tǒng)幾乎每秒都在進行大量內(nèi)存交換操作。
三、對于內(nèi)存不足的建議
(1)如果內(nèi)存不足,應該及時升級VPS內(nèi)存。否則不光會影響到自己的VPS系統(tǒng),而且會影響到其他的VPS。
(2)不要嘗試通過增加swap來解決內(nèi)存不足的問題,問題根源是由于物理內(nèi)存不足,再多的swap也是于事無補的。
相關文章
CentOS8查看IP報錯:bash:ifconfig:command not found的原因及解
在使用 CentOS 8 系統(tǒng)時,有時會遇到使用 ??ifconfig?? 命令查看網(wǎng)絡接口信息時出現(xiàn) ??bash: ifconfig: command not found?? 的錯誤,所以本文給大家介紹了報錯的原因和解決方案,需要的朋友可以參考下2025-03-03
Linux下安裝MariaDB數(shù)據(jù)庫問題及解決方法(二進制版本的安裝)
MariaDB數(shù)據(jù)庫 分為源代碼版本和二進制版本,源代碼版本需要cmake編譯,這里是二進制版本的安裝。下面通過本文給大家介紹Linux下安裝MariaDB數(shù)據(jù)庫問題及解決方法(二進制版本的安裝),感興趣的朋友參考下吧2016-11-11
Ubuntu?Server?22.04.5?入門篇:詳盡安裝部署指南
這篇文章主要介紹了Ubuntu?Server?22.04.5?入門篇:詳盡安裝部署指南,需要的朋友可以參考下2025-03-03

