Linux 設定虛擬記憶體

2021-09-26 20:18:41 字數 2131 閱讀 6060

很多人的linux是安裝在虛擬機器上,或者執行在一些嵌入式裝置上,沒有足夠的物理記憶體,如果在執行一些消耗記憶體的任務,比如編譯軟體,可能會造成系統崩潰,解決方法就是設定虛擬記憶體。。

這裡採用設定交換檔案的方法,執行以下命令

cd /var

sudo swapoff /var/swapfile

sudo dd if=/dev/zero of=/var/swapfile bs=1m count=2048

sudo mkswap /var/swapfile

sudo swapon /var/swapfile

其中1024表示2048mb的虛擬記憶體,可以根據實際情況設定,一般為物理記憶體的兩倍即可

最後,修改/etc/fstab,新增一行(保證重啟系統後,swap分割槽設定還是有值)

/var/swapfile none swap sw 0 0
注意:/u01/var/swapfile 是設定虛擬記憶體的路徑,具體的路徑可以執行設定

給當前系統增加虛擬記憶體

虛擬記憶體是計算機系統

記憶體管理的一種技術。它使得應用程式認為它擁有連續的可用的記憶體(乙個連續完整的位址空間),而實際上,它通常是被分隔成多個物理記憶體碎片,還有部分暫時儲存在外部磁碟儲存器上,在需要時進行資料交換。目前,大多數作業系統都使用了虛擬記憶體,如windows家族的「虛擬記憶體」;linux的「交換空間」等。

建立虛擬記憶體

啟用虛擬記憶體

將swap檔案設定為swap分割槽檔案

啟用swap,啟用分割槽交換檔案

注意:insecure permissions 0644, 0600 suggested.

停用虛擬記憶體

free -m

修改/etc/fstab

/u01/var/swapfile none swap sw 0 0

linux可以檔案或者分割槽來當作虛擬記憶體。

首先檢視當前的記憶體和swap 空間大小(預設單位為k, -m 單位為m):

檢視swap資訊,包括檔案和分割槽的詳細資訊

如果都沒有,我們就需要手動新增交換分割槽。注意,openvz架構的vps是不支援手動新增交換分割槽的。 

新增交換空間有兩種選擇:新增乙個交換分割槽或新增乙個交換檔案。推薦你新增乙個交換分割槽;不過,若你沒有多少空閒空間可用, 則新增交換檔案。

1.使用dd命令建立乙個swap交換檔案

這樣就建立乙個/home/swap的分割槽檔案,大小為1g。

2.製作為swap格式檔案:

3.再用swapon命令把這個檔案分割槽掛載swap分割槽

我們用free -m命令看一下,發現已經有交換分割槽了。 

但是重啟系統後,swap分割槽又變成0了。

4.為防止重啟後swap分割槽變成0,要修改/etc/fstab檔案

在檔案末尾(最後一行)加上 

這樣就算重啟系統,swap分割槽還是有值。

5.刪除swap交換檔案

1、先停止swap分割槽

2、刪除swap分割槽檔案

3、刪除自動掛載配置命令

這行刪除

這樣就能把手動增加的交換檔案刪除了。 

注意:

1. 使用fdisk來建立交換分割槽(假設 /dev/sdb2 是建立的交換分割槽)

2. 使用 mkswap 命令來設定交換分割槽:

3. 啟用交換分割槽:

4. 寫入/etc/fstab,以便在引導時啟用:

5. 刪除交換分割槽

步驟如下:

1、先停止swap分割槽

2、刪除自動掛載配置命令

這行刪除 

這樣就能把手動增加的交換分割槽刪除了。

Linux設定Swap虛擬記憶體方法

linux可以檔案或者分割槽來當作虛擬記憶體。free m 檢視swap資訊,包括檔案和分割槽的詳細資訊 swapon s或者cat proc swaps 如果都沒有,我們就需要手動新增交換分割槽。注意,openvz架構的vps是不支援手動新增交換分割槽的。新增交換空間有兩種選擇 新增乙個交換分割槽...

Linux虛擬記憶體

linux採用虛擬段頁式儲存方式來管理記憶體,程式的基本邏輯儲存單元,也可以說是程式段。linux中有四個段,段,資料段,bss段,堆疊段。虛擬位址從低到高依次是 段,資料段,bss段,堆疊段。其中 段為程式本身 二進位制指令 資料段為 中初始化了的全域性變數和靜態變數,bss段為為初始化的全域性變...

Linux虛擬記憶體

一 虛擬記憶體 1 系統會為每個程序分4g的虛擬記憶體空間。32個0 32個1 位址範圍。2 使用者只能使用虛擬位址,無法直接使用物理記憶體。3 虛擬位址與物理記憶體進行對映才能使用,否則就會產生段錯誤。4 虛擬位址與物理記憶體的對映由作業系統動態維護。5 讓使用者使用虛擬位址一方面為了安全,另一方...