使用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” 行