在 Ubuntu 虛擬機(jī)中,當(dāng)系統(tǒng)內(nèi)存不足時(shí),非活動(dòng)頁(yè)面通常會(huì)被轉(zhuǎn)移到 swap 空間。雖然 swap 空間可以提高系統(tǒng)性能,但 ubuntu 虛擬機(jī)通常不會(huì)自動(dòng)創(chuàng)建它。對(duì)于希望充分利用其虛擬機(jī)的用戶來說,創(chuàng)建和管理 swap 空間至關(guān)重要。本文將深入探討如何創(chuàng)建、刪除和調(diào)整 ubuntu 中的 swap 空間,幫助您優(yōu)化虛擬機(jī)的性能。php小編魚仔將指導(dǎo)您完成每個(gè)步驟,確保您能夠高效地管理 swap 空間,從而獲得最佳的系統(tǒng)性能。
Linux 的 SWAP 空間
Linux 內(nèi)核將物理內(nèi)存 (RAM) 分割成“頁(yè)面”塊。將頁(yè)面復(fù)制到輔助存儲(chǔ)設(shè)備 (通常是 HDD 或 SSD) 的過程稱為“交換”。預(yù)分配的專用空間稱為“SWAP 空間”,RAM 和 SWAP 空間的總和構(gòu)成虛擬內(nèi)存。
是否需要 SWAP 空間?
SWAP 空間的用途:
- 內(nèi)存需求超過可用物理內(nèi)存時(shí),SWAP 不重要的頁(yè)面,釋放更多內(nèi)存。
- 程序啟動(dòng)時(shí),許多頁(yè)面可能很少使用,SWAP 這些頁(yè)面,釋放內(nèi)存給其他應(yīng)用。
- 沒有 SWAP 空間,RAM 耗盡可能導(dǎo)致系統(tǒng)崩潰,尤其 RAM 小的系統(tǒng)。
SWAP 空間的缺點(diǎn):
- 輔助存儲(chǔ)設(shè)備 (HDD、SSD) 比 RAM 慢得多 (毫秒 vs 納秒)。
- 大量交換會(huì)減慢系統(tǒng)速度。
SWAP 空間類型
Linux 中的 SWAP 空間類型:
- 專用 SWAP 分區(qū):只能用于交換,不能存儲(chǔ)其他文件。
- SWAP 文件:可以放在文件系統(tǒng)中的任何位置。
SWAP 空間大小取決于 RAM 大小。
Ubuntu 中的 SWAP 文件
Ubuntu 通常使用專用 SWAP 分區(qū)。安裝過程中通常會(huì)自動(dòng)創(chuàng)建,但也可以創(chuàng)建和調(diào)整 SWAP 文件。
查看 SWAP 空間
使用以下命令檢查 Ubuntu 系統(tǒng)是否已啟用 SWAP 空間:
sudo swapon --show
該命令列出所有 SWAP 空間 (分區(qū)和文件)。空輸出表示未啟用 SWAP 空間。
創(chuàng)建 SWAP 文件
SWAP 文件的優(yōu)勢(shì)在于大小可輕松調(diào)整,無需修改磁盤分區(qū)。
- 創(chuàng)建一個(gè)空文件:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
(文件大小:1M x 2048 = 2GB,修改 count 參數(shù)可更改大小)
- 設(shè)置文件權(quán)限:
sudo chmod 600 /swapfile
- 格式化文件為 SWAP 空間:
sudo mkswap /swapfile
- 激活 SWAP 文件:
sudo swapon /swapfile
- 將 SWAP 文件路徑添加到 /etc/fstab 文件,使其永久生效:
/swapfile swap swap defaults 0 0
- 使用 swapon –show 或 free -h 命令驗(yàn)證 SWAP 文件是否處于活動(dòng)狀態(tài)。
調(diào)整 Swappiness 值
Swappiness 值 (0-100) 控制系統(tǒng)使用 SWAP 空間的頻率。值越低,越少使用 SWAP;值越高,越積極使用 SWAP。
查看 Swappiness 值:
cat /proc/sys/vm/swappiness
設(shè)置 Swappiness 值 (例如,設(shè)置為 40):
sudo sysctl vm.swappiness=40
要使設(shè)置永久生效,在 /etc/sysctl.conf 文件中添加 vm.swappiness=40。
刪除 SWAP 文件
- 停用 SWAP 文件:
sudo swapoff -v /swapfile
-
從 /etc/fstab 文件中刪除相關(guān)行。
-
刪除 SWAP 文件:
sudo rm /swapfile
調(diào)整 SWAP 空間大小
SWAP 分區(qū): 需要使用磁盤管理工具 (如 GParted) 調(diào)整大小,這需要一定的專業(yè)知識(shí),且操作不當(dāng)可能導(dǎo)致數(shù)據(jù)丟失。
SWAP 文件:
-
停用 SWAP 文件:sudo swapoff /swapfile
-
使用 dd 命令調(diào)整大小 (例如,增加 2GB):
sudo dd if=/dev/zero of=/swapfile bs=1G count=2 oflag=append conv=notrunc
-
重新格式化:sudo mkswap /swapfile
-
重新激活:sudo swapon /swapfile
本文詳細(xì)介紹了在 Ubuntu 中管理 SWAP 空間的方法,包括不同類型的 SWAP 空間以及如何調(diào)整 SWAP 分區(qū)和文件的大小。