linux 中設置swap交換空間的大小設置和swappiness的比例設置

使用free -m命令查看內存使用情況和swap的大小

[root@pr ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           999        977         22          0         84        256
-/+ buffers/cache:        636        362
Swap:         2015          0       2015

關閉swap:

swapoff -a

設置swap 的大小:
 

[root@pr ~]# dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 6.95286 seconds, 154 MB/s

[root@pr ~]#  mkswap /swapfile 
Setting up swapspace version 1, size = 1073737 kB
[root@pr ~]# swapon /swapfile     
[root@pr ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           999        973         25          0          3        329
-/+ buffers/cache:        640        359
Swap:         1023          0       1023


bs指的是Block Size,就是每一塊的大小。這裏的例子是1M,意思就是count的數字,是以1M爲單位的。count是告訴程序,新的swapfile要多少個block

 

 讓swap在啓動的時候,自動生效。打開/etc/fstab文件,加上以下命令。然後保存。

[root@pr ~]# vi /etc/fstab 


/swapfile swap swap default 0 0 
~                                                                     

設置swappiness的比例值:


首先簡單的說一下swap分區的作用,其實linux系統下的swap分區與windows下的虛擬內存差不多一個意思,swap空間的作用可簡單這樣理解:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程序,這些被釋放的空間被臨時保存到swap空間中,等到那些程序要運行時,再從swap中恢復保存的數據到 內存中。這樣,系統總是在物理內存不夠時,才進行swap交換。

 如果內存夠大,那麼這個時候應該讓 linux 不必太多的使用swap分區, 可以通過修改swappiness的數值。當swappiness爲0的時候表示最大限度使用物理內存,然後纔是 swap空間,當swappines爲100的時候,則表示積極的使用swap分區,並且把內存上的數據及時的搬運到swap空間裏面。
 

  查看swappiness當前設置的值:

[root@pr ~]# cat /proc/sys/vm/swappiness 
60

  修改swappiness的值,這樣重啓後會失效

[root@pr ~]# echo 0 >/proc/sys/vm/swappiness 

永久修改:

在 /etc/sysctl.conf 文件添加 ”vm.swappiness=0” 行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章