CentOS 7下新增swap檔案

CentOS 7下新增swap檔案

當作業系統的記憶體不足以放置正在執行的應用程式時,作業系統將記憶體中的某些內容移出到交換檔案或虛擬記憶體檔案中的計算機硬碟中。增加更多的記憶體到電腦有助於緩解記憶體瓶頸不足的情形。這個特性在Windows表現爲虛擬記憶體,在Linux中則表現爲swap分割槽和swap檔案。本文描述的是使用磁碟檔案用作交換檔案,不涉及swap分割槽。供大家參考。

一、檢視當前是否使用swap分割槽或swap檔案

# more /etc/redhat-release         ##當前環境
CentOS Linux release 7.4.1708 (Core)

# cat /proc/meminfo|grep -i swap  ##檢視是否啟用swap
SwapCached:            0 kB
SwapTotal:            0 kB
SwapFree:              0 kB

# free -m     ## free命令也可以觀察swap 使用情況
              total        used        free      shared  buff/cache  available
Mem:          3790        426        2805          1        558        3125
Swap:            0          0          0

# swapon -s ##檢視swap是否開啟

# df -h|grep -v tmpfs  ##檢視系統可用磁碟空間,用於確定將swap檔案放在哪塊磁碟或路徑
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  2.2G  36G  6% /

二、建立swap檔案及啟用swap

# fallocate -l 4G /mnt/swapfile  ##快速生成swap檔案
# ls -hltr /mnt/swapfile 
-rw-r--r-- 1 root root 4.0G Nov 22 16:19 /mnt/swapfile

可選的方案,這個方式相對較慢
# dd if=/dev/zero of=/mnt/swapfile2 bs=4096k count=1000

# chmod 600 /mnt/swapfile  ## 許可權設定

# mkswap /mnt/swapfile    ##使用mkswap將檔案設定為Linux交換區
Setting up swapspace version 1, size = 4194300 KiB       #Author : Leshami
no label, UUID=fe4a83d2-3e3a-459d-b4d9-3750e51930fb #Blog  : http://blog.csdn.net/leshami

# swapon /mnt/swapfile   ##啟用Linux交換區

# swapon -s
Filename                                Type            Size    Used    Priority
/mnt/swapfile                          file    4194300 0      -1

配置OS啟動時自動載入Linux交換區
# echo "/mnt/swapfile swap swap defaults 0 0">> /etc/fstab

三、swap使用頻率設定

請注意,交換空間頻繁使用的預設值是60(最大值是100)。
數字越高,核心使用的交換空間越頻繁。當該值設定為0時,交換檔案將只在作業系統已充分利用記憶體的情況下使用。

# vim /etc/sysctl.conf 
vm.swappiness=10
# sysctl -p

# cat /proc/meminfo|grep -i swap
SwapCached:            0 kB
SwapTotal:      4194300 kB
SwapFree:        4194300 kB

發表評論

This site uses Akismet to reduce spam. Learn how your comment data is processed.