1. 程式人生 > >linux系統之swap分區

linux系統之swap分區

linux swap 調整大小

一.簡介:

Linux內核為了提高讀寫效率與速度,會將文件在內存中進行緩存,這部分內存就是Cache Memory(緩存內存)。即使你的程序運行結束後,Cache Memory也不會自動釋放。這就會導致你在Linux系統中程序頻繁讀寫文件後,你會發現可用物理內存變少。當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什麽操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。這樣,系統總是在物理內存不夠時,才進行Swap交換。



二.查看swap分區大小:

[[email protected] ~]# free 
             total       used       free     shared    buffers     cached
Mem:       1906256     158332    1747924        168       6164      44048
-/+ buffers/cache:     108120    1798136
Swap:      2097148          0    2097148
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1861        154       1706          0          6         43
-/+ buffers/cache:        105       1755
Swap:         2047          0       2047
[[email protected] ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1              partition    2097148    0    -1

三.釋放swap空間:

先關閉swap分區,然後再次打開swap分區。

1.查看swap分區信息
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1861        154       1706          0          6         43
-/+ buffers/cache:        105       1756
Swap:         2047          0       2047
[[email protected] ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1                               partition    2097148    0    -1

2.關閉swap分區
[[email protected] ~]# swapoff /dev/dm-1 

3.檢查swap分區
[[email protected] ~]# 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分區
[[email protected] ~]# swapon /dev/dm-1 
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1861        155       1706          0          6         43
-/+ buffers/cache:        105       1755
Swap:         2047          0       2047

四.修改參數swappiness

系統在什麽情況或條件下才會使用Swap分區的空間呢? 其實是Linux通過一個參數swappiness來控制的。這個參數值可為 0-100,控制系統 swap 的使用程度。高數值可優先系統性能,在進程不活躍時主動將其轉換出物理內存。低數值可優先互動性並盡量避免將進程轉換處物理內存,並降低反應延遲。默認值為 60。

臨時修改1:
[[email protected] ~]# more /proc/sys/vm/swappiness
60
[[email protected] ~]# echo 10 > /proc/sys/vm/swappiness
[[email protected] ~]# more /proc/sys/vm/swappiness
10

臨時修改2:
sysctl vm.swappiness=10

永久修改:
echo ‘vm.swappiness=10‘ >>/etc/sysctl.conf    重啟系統後生效。

五.調整swap分區大小

方法1:如果是swap是邏輯卷

[[email protected] ~]# 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

[[email protected] ~]# 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


本文出自 “獨上高樓,望盡天涯路” 博客,請務必保留此出處http://nxyboy.blog.51cto.com/10511646/1972037

linux系統之swap分區