Linux 配置 swap 區
很多時候我們需要配置
swap
主要的原因是物理內存太貴了, 服務器也是一樣, 當內存不夠用時, 系統會卡死, 因此我們寧愿犧牲一點性能也要讓系統正常運行。 當然, 在系統物理內存足夠的條件下, 建議關閉swap
, 內存運行速度遠大于硬盤, 而swap
實際上在硬盤上分配一些空間來充當內存的作用。
博主博客
- https://blog.uso6.com
- https://blog.csdn.net/dxk539687357
一、建立 swap 區
1.1 創建 swapfile 文件
比如我在 /opt
文件夾創建一個 4G 名稱叫 swapfile
的 swap 區。
下面 3 句隨便選一句就行。
dd if=/dev/zero of=/opt/swapfile bs=1024 count=4194304
dd if=/dev/zero of=/opt/swapfile bs=1M count=4096
dd if=/dev/zero of=/opt/swapfile bs=1G count=4
1.2 格式化 swapfile 文件
mkswap -f /opt/swapfile
1.3 掛載 swapfile 文件
swapon /opt/swapfile
1.4 查看是否生效
free -h
和free -m
可以看到內存和 swap 使用情況。swapon -s
和cat /proc/swaps
可以看到大小和位置。
[root@nukixPC ~]# free -htotal used free shared buff/cache available
Mem: 1.7Gi 1.0Gi 261Mi 15Mi 515Mi 616Mi
Swap: 5.0Gi 183Mi 4.8Gi[root@nukixPC ~]# swapon -s
Filename Type Size Used Priority
/dev/vda2 partition 1047548 187480 -2
/opt/swapfile file 4194300 0 -3[root@nukixPC ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/vda2 partition 1047548 187480 -2
/opt/swap file 4194300 0 -3
1.5 開機啟用
添加到 /etc/fstab
vim /etc/fstab
在文本最后添加
/opt/swapfile swap swap defaults 0 0
二、其他相關命令
2.1 卸載 swap
swapoff /opt/swapfile
2.2 即時查看 CPU、內存、swap 使用情況
top
三、swappiness 說明
在 Linux 里面 swappiness
用來控制什么時候才使用 swap 區。
比如 swappiness=60
則 內存使用到 100-60=40%
的時候就會開始使用 swap 區。
swappiness=0
使用物理內存, 幾乎不使用 swap 區。swappiness=100
使用物理內存的同時積極使用 swap 區。
3.1 查看 swappiness
cat /proc/sys/vm/swappiness
3.2 臨時修改 swappiness
sysctl vm.swappiness=60
3.3 永久修改 swappiness
打開文件 /etc/sysctl.conf
vim /etc/sysctl.conf
在文件末尾加上
vm.swappiness=60
立即生效(或者重啟生效)
sysctl -p