linux系統添加swap(虛擬內存)分區


​ 在實際的生產環境中,實際的物理內存我們經常會覺得不夠用,增加物理內存的成本又比較高,一種折中方案就出來了,使用硬盤的一部分空間來做Swap(windows 下叫虛擬內存),將系統內非活動內存換頁到 SWAP,以提高系統可用內存。當然在一些特殊應用(elasticsearch)的話是建議不要使用swap,會導致應用的處理能力都大幅度降低。

創建swap分區

# 預留物理空間
fallocate -l 4G /swapfile   #fallocate 比較快點  我們也可以用dd命令   dd if=/dev/zero of=/swapfile bs=1M count=4096

# 設置交換區(swap area)。
mkswap  /swapfile
# 更改swap權限
chmod 600  /swapfile

啟用swap分區

# 啟用swap 
swapon /swapfile
# 查看已經啟用的swap 
swapon  -s

# 開機自啟swap 分區
vi + /etc/fstab
  # 在文件/etc/fstab 添加以下內容
/swapfile    swap    swap    defaults        0   0 


# 啟動啟用 swap 
vi + /etc/rc.local 
 #在文件/etc/rc.local 添加
swapon -a

# 修改 swappiness 參數
在 Linux 系統中,可以通過查看 /proc/sys/vm/swappiness 內容的值來確定系統對 SWAP 分區的使用原則。當swappiness 內容的值為 0 時,表示最大限度地使用物理內存,物理內存使用完畢后,才會使用 SWAP 分區。當swappiness 內容的值為 100 時,表示積極地使用 SWAP 分區,並且把內存中的數據及時地置換到 SWAP 分區。
默認值為 0,表示需要在物理內存使用完畢后才會使用 SWAP 分區:

## 查看默認的swappiness參數
cat  /proc/sys/vm/swappiness

## 臨時修改
sysctl -w  vm.swappiness=10
## 永久修改
vi + /etc/sysctl.conf
# 添加
vm.swappiness=10
## 讓配置生效 
sysctl -p 

刪除swap分區

# 關閉使用swap
swapoff /swapfile

刪除 /etc/fstab 配置行/swapfile    swap    swap    defaults        0   0 
刪除配置 /etc/rc.local 配置行  swapon -a
刪除配置 /etc/sysctl.conf  配置行 vm.swappiness=10 並使用 sysctl -p 讓配置生效

# 刪除swap分區
rm -f  /swapfile


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM