一般來說,當應用程序使用大量物理內存(RAM)並且不夠用時操作系統會開始使用交換空間(Swap Space)。這種情況下,操作系統會把不活動的物理頁面置換到交換空間。
釋放出來的空閑內存可以繼續被其他應用程序使用。等到物理內存使用量降下來後,交換的內存區域又會換回到物理內存中。系統管理員應該確保系統交換空間足夠,保證操作系統在內存不夠用時始終能夠通過置換頁面的方式獲取可用的物理內存。
接下來,我們就來介紹如何創建、擴展和刪除交換空間。
真的需要交換空間?
並不是的,前提是你的系統擁有足夠的物理內存。但是,建議給系統分配交換空間。因為當系統運行著大量消耗內存的應用,物理內存不夠用,且不具備交換空間時,操作系統極容易發生崩潰。對比 RAM 來看,一點點的磁碟空間真是太便宜了。所以建議大家都為系統創建交換空間。
分區還是文件?
交換空間可以直接劃分在一個專門的交換分區(推薦),也可以是一個單獨的交換文件,甚至可以是這兩種方式的組合。默認情況下,大部分的 Linux 發行版在安裝時都會創建一個專門的交換分區。而 Windows 一般來說用了交換文件這種方式。
交換空間需要多大?
其實沒有特別嚴格的限制。通常的做法是保證交換空間至少是物理內存的 1.5 倍大小。休眠情況下,交換空間至少可能會被用和 RAM 一樣的大小。
配置交換分區
接下來,讓我們用文件的方式配置交換空間並立即啟用。文件的方式分區方式更靈活。
- Root 賬戶登錄。
root@debian:~#
- 在 /var 目錄下創建一個名為 『swapfile』 的文件,並給予合適的許可權。
root@debian:~# cd /var/
root@debian:/var# touch swapfile
root@debian:/var# ls -la swapfile
-rw-r--r-- 1 root root 0 Feb 4 06:17 swapfile
root@debian:/var# chmod 600 swapfile
root@debian:/var# ls -la swapfile
-rw------- 1 root root 0 Feb 4 06:17 swapfile
root@debian:/var#
- 用 『dd』 命令向交換文件寫 1GB (這裡舉例 1GB )數據。
root@debian:/var# dd if=/dev/zero of=/var/swapfile bs=1024k count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 1.71043 s, 613 MB/s
root@debian:/var#
- 設置交換文件。
root@debian:/var# mkswap /var/swapfile
Setting up swapspace version 1, size = 1000 MiB (1048571904 bytes)
no label, UUID=4368aa26-e09e-4733-92c9-ced7865f6ff9
root@debian:/var#
- 啟用交換文件。
root@debian:/var# swapon /var/swapfile
root@debian:/var#
- 檢驗一下交換文件是否被成功啟用。
root@debian:/var# cat /proc/swaps
Filename Type Size Used Priority
/var/swapfile file 1023996 0 -1
root@debian:/var# swapon --show
NAME TYPE SIZE USED PRIO
/var/swapfile file 1000M 0B -1
root@debian:/var#
- 配置 fstab 文件。
打開 『/etc/fstab』 文件,將下面這行添加到文件末尾,下次系統啟動後就會自動啟用交換文件了。
/var/swapfile none swap sw 0 0
禁用移除交換文件
- 禁用一個交換文件。
root@debian:/var# swapoff /var/swapfile
root@debian:/var# swapon --show
- 刪除一個交換文件。
root@debian:/var# rm /var/swapfile
root@debian:/var#
- 更新 『/etc/fstab』 文件。
將上文中添加的那行,從文件中刪除保存即可。
/var/swapfile none swap sw 0 0
交換空間的局限
交換機制存在一個缺點。因為交換空間往往在硬碟上,交換物理頁面時訪問磁碟是相當緩慢的。所以交換空間並不能完全替代物理內存。
說到最後
系統管理員可以合理的調整交換空間的大小,有利於系統運行得更加順暢。可以通過系統內存監控等軟體獲取系統運行時內存情況,根據對應的情況合理調整大小。
原文鏈接: http://www.linuxandubuntu.com/home/how-to-create-or-increase-swap-space-in-linux
本文鏈接: https://linuxstory.org/how-to-create-or-increase-swap-space-in-linux
轉載請註明出處,否則必究相關責任。