Linux 修改 Swap 分割槽大小
一、新建 swap 分割槽(root)
1. # swapoff -a #停止交換分割槽
2. 用 fdisk 命令加 swap 分割槽的碟符,(例:# fdisk /dev/sdb)剔除 swap 分割槽,輸入d刪除 swap 分割槽,然後再n新增分割槽(新增時硬碟必須要有可用空間,然後再用t將新添的分割槽id改為82(linux swap型別),最後用w將操作實際寫入硬碟(沒用w之前的操作是無效的)。
3. # mkswap /dev/sdb2 #格式化 swap 分割槽,這裡的sdb2要看您加完後p命令顯示的實際分割槽裝置名
4. # swapon /dev/sdb2 #啟動新的 swap 分割槽
/dev/sdb2 swap swap defaults 0 0
二、增加Swap分割槽
1.建立交換分割槽的檔案:增加1G大小的交換分割槽,則命令寫法如下,其中的 count 等於想要的塊大小。# dd if=/dev/zero of=/home/swap bs=1M count=1024
2.設定交換分割槽檔案:# mkswap /home/swap #建立swap的檔案系統
3.立即啟用交換分割槽檔案:# swapon /home/swap #啟用swap檔案
4.使系統開機時自啟用,在檔案 /etc/fstab 中新增一行:/home/swap swap swap defaults 0 0
三、修改 Swap 的使用優先順序 swappiness
swappiness=0 表示最大限度使用實體記憶體,swappiness=100 表示積極的使用swap分割槽,並且把記憶體上的資料及時的搬運到 swap。
1. # cat /proc/sys/vm/swappiness #檢視系統預設的 swappiness 值
2. # sudo sysctl vm.swappiness=10 #修改swappiness值為10,臨時性的修改,重啟系統後會恢復預設值
3. # sudo vi /etc/sysctl.conf#在文件的最後加上這樣一行(永久修改 swappiness):
vm.swappiness = 10
4. # sudo sysctl -p #使 /etc/sysctl.conf 的修改立即生效
推薦的 Swap 和 Ram 之間的大小關係
RAM | Swap Space |
Between 1024 MB and 2048 MB | 1.5 times the size of RAM |
Between 2049 MB and 8192 MB | Equal to the size of RAM |
More than 8192 MB | 0.75 times the size of RAM |