在Linux上增加swap空間的技巧

Swap分區,即交換區


Swap空間的作用可簡單描述爲:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用,那些被釋放的空間可能來自一些很長時間沒有什麼操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復保存的數據到內存中。這樣,系統總是在物理內存不夠時,才進行Swap交換。


通常情況下,Swap空間應大於或等於物理內存的大小,最小不應小於64M,通常Swap空間的大小應是物理內存的2-2.5倍,Swap的調整對Linux服務器,特別是Web服務器的性能至關重要,通過調整Swap,有時可以越過系統性能瓶頸,節省系統升級費用。


查看已有swap空間


[root@test ~]# free -m

totalusedfreeshared  buffers  cached

Mem:  3949  244  3704  0  18  157

-/+ buffers/cache:69  3880

Swap:  42750  4275


新增swap分區空間


1、使用dd創建swapfile,bs單位bytes,也可以手動指定單位爲M或者G,count爲計數,例子爲增加1M*1024=1G空間


[root@test swap]#pwd

/swap

[root@test swap]# dd if=/dev/zero of=swapfile bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB) copied, 2.27273 seconds, 472 MB/s

[root@test swap]# ll

total 1049604

-rw-r--r-- 1 root root 1073741824 Sep 16 20:48 swapfile


2、mkswap創建交換文件


[root@test swap]# mkswap swapfile

Setting up swapspace version 1, size = 1073737 kB


3、swapon激活


[root@test swap]# swapon swapfile


4、查看增加後swap空間


[root@test swap]# free -m

totalusedfreeshared  buffers  cached

Mem:  3949  1293  2655  017  1181

-/+ buffers/cache:95  3854

Swap:  5299 0  5299


5、開機啓動


vim /etc/fstab 添加

/swap/swapfile  swap  swapdefaults  0 0


6、去掉增加swap


# 查看

[root@test swap]# free -m

# 停用

[root@test swap]# swapoff swapfile

# 刪除

[root@test swap]# rm swapfile -rf

# 確定

[root@test swap]# free -m

# 刪除隨即啓動swap

[root@test swap]#vim /etc/fstab


擴展閱讀(來自百度百科):


需要說明一點,並不是所有從物理內存中交換出來的數據都會被放到Swap中(如果這樣的話,Swap就會不堪重負),有相當一部分數據被直接交換到文件系統。例如,有的程序會打開一些文件,對文件進行讀寫(其實每個程序都至少要打開一個文件,那就是運行程序本身),當需要將這些程序的內存空間交換出去時,就沒有必要將文件部分的數據放到Swap空間中了,而可以直接將其放到文件裏去。如果是讀文件操作,那麼內存數據被直接釋放,不需要交換出來,因爲下次需要時,可直接從文件系統恢復;如果是寫文件,只需要將變化的數據保存到文件中,以便恢復。但是那些用malloc和new函數生成的對象的數據則不同,它們需要Swap空間,因爲它們在文件系統中沒有相應的“儲備”文件,因此被稱作“匿名”(Anonymous)內存數據。這類數據還包括堆棧中的一些狀態和變量數據等。所以說,Swap空間是“匿名”數據的交換空間。

來源:http://blog.sina.com.cn/s/blog_6aad8abe01019gqm.html


文末福利 || 免費領:運維大神速成祕籍(300頁乾貨,基礎、進階、高端,全方位linux技能整理)

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