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