在Linux上增加swap空間的技巧

2021-08-20 12:37:05 字數 2493 閱讀 5180

swap分割槽,即交換區

swap空間的作用可簡單描述為:當系統的物理記憶體不夠用的時候,就需要將物理記憶體中的一部分空間釋放出來,以供當前執行的程式使用,那些被釋放的空間可能來自一些很長時間沒有什麼操作的程式,這些被釋放的空間被臨時儲存到swap空間中,等到那些程式要執行時,再從swap中恢復儲存的資料到記憶體中。這樣,系統總是在物理記憶體不夠時,才進行swap交換。

通常情況下,swap空間應大於或等於物理記憶體的大小,最小不應小於64m,通常swap空間的大小應是物理記憶體的2-2.5倍,swap的調整對linux伺服器,特別是web伺服器的效能至關重要,通過調整swap,有時可以越過系統效能瓶頸,節省系統公升級費用。

一檢視已有swap空間

[root@test ~]# free -m

total

used

free

shared  

buffers  

cached

mem:  

3949  

244  

3704  

0  18  

157-/+ buffers/cache:

69  

3880

swap:  

4275

0  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

total

used

free

shared  

buffers  

cached

mem:  

3949  

1293  

2655  

017  

1181

-/+ buffers/cache:

95  

3854

swap:  

5299 

0  5299

5、開機啟動

vim /etc/fstab 新增

/swap/swapfile  

swap  

swap

defaults  

0 06、去掉增加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空間是「匿名」資料的交換空間。

文末福利 ||

免費領:運維大神速成秘籍(300頁乾貨,基礎、高階、高階,全方位linux技能整理)

在linux上增加swap交換空間

增加交換空間有兩種方法 嚴格的說,在系統安裝完後只有一種方法可以增加swap,那就是本文的第二種方法,至於第一種方法應該是安裝系統時設定交換區。1 使用分割槽 在安裝os時劃分出專門的交換分割槽,空間大小要事先規劃好,啟動系統時自動進行mount。這種方法只能在安裝os時設定,一旦設定好不容易改變,...

在Linux中增加swap空間

在linux中增加swap空間 在安裝linux的時候,不知道swap空間分配多少比較好,所以會隨便分配乙個,在真正使用的時候,比如安裝oracle10g會要求很大的swap空間,發現swap空間不夠,那應該怎麼增加swap空間大小呢。以下的操作都要在root使用者下進行,首先先建立乙個分割槽,採用...

在Linux中增加swap空間

在安裝linux的時候,不知道swap空間分配多少比較好,所以會隨便分配乙個,在真正使用的時候,比如安裝oracle10g會要求很大的swap空間,發現swap空間不夠,那應該怎麼增加swap空間大小呢。以下的操作都要在root使用者下進行,首先先建立乙個分割槽,採用dd命令比如 if dev ze...