關於網路那些事...

網路行銷,SEO,網路趨勢,教學文章,網頁設計,生活時事

解決RAM不足問題 - 在 Linux 新增 Swap 虛擬記憶體

解決RAM不足問題 - 在 Linux 新增 Swap 虛擬記憶體

建立 Swap 虛擬記憶體儲存空間

一般建立 Swap 記憶體,大小通常會設定在實體記憶體的 1到 2倍。

以一台 1Gb 記憶體的主機而言,我們在這裡建立 2G的 Swap 虛擬記憶體儲存空間。

首先,在 var 透過 fallocate 建立 swa-sda1 資料夾,fallocate 可指定預留資料夾空間,以及權限設定為 root 可讀寫

cd /var
fallocate -l 2G swap-sda1
chmod 600 swap-sda1

初始化 Swap 空間

首先,透過 mkswap 將 /dev/swap-sda1 建立為 Linux 交換區,讓這個資料夾被分割為一個磁碟區

建立過程會自動分配一個 UUID 給這個磁碟區

(注意!執行 mkswap 會抹除交換區內的資料)

mkswap /dev/swap-sda1

啟動交換區

狀況一、主機若使用一般硬碟,透過 swapon 來啟動交換區,讓 Linux 可以正常使用這個分割空間:

swapon /dev/swap-sda1

狀況二、主機若使用支援TRIM的SSD硬碟 ,則可以透過 -d 或 discard 選項來提升交換區的效率

swapon -d /dev/swap-sda1

啟動完成後,檢查 swap 狀態是否啟用

swapon -s

開機啟動

設定重新開機後,自動啟動 swap

一般類型磁碟

echo "/dev/swap-sda1 none swap sw 0 0" >> /etc/fstab"

支援TRIM的SSD磁碟

echo "/dev/swap-sda1 none swap sw,discard 0 0" >> /etc/fstab"

停止 swap 交換區

如果不使用,可透過以下指令終止:

sudo swapoff /dev/swap-sda1

調整效能

在預設建立好的 swap ,在記憶體充足時,就會開始佔用 swap 空間。

如果想先主要以實體記憶體為主,swap 為輔,可以透過 swappiness 來設定分配方式。

首先,查看預設的 swappiness 設定

cat /proc/sys/vm/swappiness

預設通常會是 60 (值越高,表示會越優先使用 swap,範圍 0~100)

透過以下指令可修改值

sysctl vm.swappiness=10

以及設定開機自動設定

echo "vm.swappiness=10" >> /etc/sysctl.conf"

最後,如果你喜歡這篇文章,請幫忙點個讚



最新文章推薦