給linux伺服器增加swap虛擬記憶體

2021-10-08 13:02:17 字數 1619 閱讀 8018

1.1 swap 概述

計算機對記憶體分為物理記憶體與虛擬記憶體。物理記憶體就是計算機的實際記憶體大小,由ram晶元組成的。虛擬記憶體則是虛擬出來的、使用磁碟代替記憶體。虛擬記憶體的出現,讓機器記憶體不夠的情況得到部分解決。當程式執行起來由作業系統做具體虛擬記憶體到物理記憶體的替換和載入(相應的頁與段的虛擬記憶體管理)。這裡的虛擬記憶體即所謂的swap

當使用者提交程式,然後產生程序,在機器上執行。機器會判斷當前物理記憶體是否還有空閒允許程序調入記憶體執行,如果有那麼則直接調入記憶體進行執行;如果沒有,那麼會根據優先順序選擇乙個程序掛起,把該程序交換到swap中等待,然後把新的程序調入到記憶體中執行。根據這種換入和換出,實現了記憶體的迴圈利用,讓使用者感覺不到記憶體的限制。從這也可以看出swap扮演了乙個非常重要的角色,就是暫存被換出的程序。

這個是swap 交換分割槽的作用。 實際上,我們更關注的應該是swap分割槽的大小問題。 設定多大才是最優的。

一般來說可以按照如下規則設定swap大小:

4g以內的物理記憶體,swap 設定為記憶體的2倍。

4-8g的物理記憶體,swap 等於記憶體大小。

8-64g 的物理記憶體,swap 設定為8g。

64-256g物理記憶體,swap 設定為16g。

實際上,系統中交換分割槽的大小並不取決於物理記憶體的量,而是取決於系統中記憶體的負荷,所以在安裝系統時要根據具體的業務來設定swap的值。

1.2 系統在什麼情況下才會使用swap?

[root@rhce ~]# cat 

該值預設值是60.

現在伺服器的記憶體動不動就是上百g,所以我們可以把這個引數值設定的低一些,讓作業系統盡可能的使用物理記憶體,降低系統對swap的使用,從而提高系統的效能。

vim /etc/sysctl.conf 在檔案裡新增如下引數:

或者:1、使用top命令檢視當前系統是否有交換分割槽。

執行top命令後,可以在kib swap打頭的那一行,看到交換分割槽相關資訊。如果顯示kib swap:  0 total 就說明沒有交換分割槽。

2、首先建立使用者交換分割槽的檔案。

[root@www ~]# dd if=/dev/zero of=/mnt/swap bs=1m count=1024
這樣建立1g的分割槽檔案

(注意:if 表示 infile,of 表示outfile,bs=1024 表示寫入的每個塊的大小為1024b=1kb(1024b位元組=1024*8bit位)

3、初始化分割槽檔案

[root@www ~]# mkswap /mnt/swap
檢視建立檔案的大小 

4、啟動交換分割槽

[root@www ~]# swapon /mnt/swap
5、設定開機自動掛載

[root@www ~]# vim /etc/fstab
新增 /mnt/swap swap swap defaults 0 0

6、刪除swap空間

swapoff  /mnt/swap

rm -rf  /mnt/swap

給Linux增加swap記憶體

cc 編譯器內部錯誤 已殺死 程式 cc1 please submit a full bug report,see for instructions.解決方法 這個原因是記憶體不足,在linux下增加臨時swap空間 step 1 sudo dd if dev zero of home swap b...

怎樣給Linux伺服器新增Swap交換空間

演示系統 debian server 9.9,所有操作在root使用者模式下 計算機中swap空間也就是交換空間,swap空間是電腦硬碟中的一部分,當計算機的實際記憶體不夠用的時候,作業系統會去使用swap空間,不過一般情況下swap空間是用不著的。因為是硬碟上的一部分,所以swap空間很慢。我們可...

Linux 伺服器建立swap交換分割槽

作用 提公升 記憶體的容量,防止oom out of memory cat proc swaps free m swapon s 可是是分割槽,lvm,file file建立 1 新建乙個專門的檔案用於swap分割槽 dd if dev zero of swap file bs 1m count 4...