一.簡介:node
Linux內核爲了提升讀寫效率與速度,會將文件在內存中進行緩存,這部份內存就是Cache Memory(緩存內存)。即便你的程序運行結束後,Cache Memory也不會自動釋放。這就會致使你在Linux系統中程序頻繁讀寫文件後,你會發現可用物理內存變少。當系統的物理內存不夠用的時候,就須要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什麼操做的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。這樣,系統老是在物理內存不夠時,才進行Swap交換。vim
二.查看swap分區大小:緩存
[root@node1 ~]# free total used free shared buffers cached Mem: 1906256 158332 1747924 168 6164 44048 -/+ buffers/cache: 108120 1798136 Swap: 2097148 0 2097148 [root@node1 ~]# free -m total used free shared buffers cached Mem: 1861 154 1706 0 6 43 -/+ buffers/cache: 105 1755 Swap: 2047 0 2047 [root@node1 ~]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2097148 0 -1
三.釋放swap空間:bash
先關閉swap分區,而後再次打開swap分區。app
1.查看swap分區信息 [root@node1 ~]# free -m total used free shared buffers cached Mem: 1861 154 1706 0 6 43 -/+ buffers/cache: 105 1756 Swap: 2047 0 2047 [root@node1 ~]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2097148 0 -1 2.關閉swap分區 [root@node1 ~]# swapoff /dev/dm-1 3.檢查swap分區 [root@node1 ~]# free -m total used free shared buffers cached Mem: 1861 153 1707 0 6 43 -/+ buffers/cache: 104 1757 Swap: 0 0 0 4.開啓swap分區 [root@node1 ~]# swapon /dev/dm-1 [root@node1 ~]# free -m total used free shared buffers cached Mem: 1861 155 1706 0 6 43 -/+ buffers/cache: 105 1755 Swap: 2047 0 2047
四.修改參數swappinesside
系統在什麼狀況或條件下才會使用Swap分區的空間呢? 實際上是Linux經過一個參數swappiness來控制的。這個參數值可爲 0-100,控制系統 swap 的使用程度。高數值可優先系統性能,在進程不活躍時主動將其轉換出物理內存。低數值可優先互動性並儘可能避免將進程轉換處物理內存,並下降反應延遲。默認值爲 60。性能
臨時修改1: [root@node1 ~]# more /proc/sys/vm/swappiness 60 [root@node1 ~]# echo 10 > /proc/sys/vm/swappiness [root@node1 ~]# more /proc/sys/vm/swappiness 10 臨時修改2: sysctl vm.swappiness=10 永久修改: echo 'vm.swappiness=10' >>/etc/sysctl.conf 重啓系統後生效。
五.調整swap分區大小spa
方法1:若是是swap是邏輯卷進程
[root@node1 ~]# ll /dev/mapper/ total 0 crw-rw---- 1 root root 10, 58 Oct 13 09:49 control lrwxrwxrwx 1 root root 7 Oct 13 09:50 vg_node1-lv_root -> ../dm-0 lrwxrwxrwx 1 root root 7 Oct 13 10:09 vg_node1-lv_swap -> ../dm-1 [root@node1 ~]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2097148 0 -1 1.關閉Swap交換分區 swapoff /dev/dm-1 或者swapoff /dev/mapper/vg_node1-lv_swap 2.若是vg有空餘空間,則採用lvextend擴容方式 lvextend -L 3G /dev/mapper/vg_node1-lv_swap 3.格式化: mkswap /dev/mapper/vg_node1-lv_swap 4.啓動swap分區 swapon /dev/mapper/vg_node1-lv_swap 5.添加到開機自啓 cat /etc/fstab 默認系統已經自動掛載 /dev/mapper/vg_node1-lv_root / ext4 defaults 1 1
方法2:文件建立swap分區內存
1.建立文件/root/swap # dd if=/dev/zero of=/root/swap bs=1024M count=8(從/分區分出8x1024M大小的空間,掛在/root/swap上) 2.格式化: # mkswap /root/swap (格式化成swap格式) 3.啓用: # swapon /root/swap (激活/root/swap,加入到swap分區中) 若是報錯,則swapon -f /root/swap 4.添加開機自啓 # vim /etc/fstab (開機自啓動新添加的swap分區) /root/swap swap swap defaults 0 0 5.刪除新增的文件只須要執行 #swapoff /root/swap
方法3:新增硬盤方式
1.建立分區 fdisk--n--t-(調整類型爲82swap) 2.格式化成swap格式 mkswap /dev/sda3 3.啓用: swapon /dev/sda3 3.開機自啓動掛載 vim /etc/fstab /dev/sda3 swap swap defaults 0 0