Ubuntu修改Swap交換空間大小的三種方法
Ubuntu 修改 Swap 交換空間大小
在 Ubuntu 系統(tǒng)(包括 18.04、20.04、22.04 等版本)中,Swap 交換空間是虛擬內(nèi)存,用于在物理 RAM 不足時擴展內(nèi)存。默認情況下,Ubuntu 通常創(chuàng)建一個 1-2 GB 的 Swap 文件(位于 /swapfile)。修改 Swap 大小的原因可能是運行內(nèi)存密集型任務(wù)(如機器學習、視頻編輯)時出現(xiàn) OOM(Out of Memory)錯誤。
注意事項:
- 操作前備份重要數(shù)據(jù),以防分區(qū)調(diào)整出錯。
- 推薦 Swap 大小:等于或略大于 RAM(例如 RAM 8 GB 時 Swap 設(shè)為 8-16 GB),但不超過 4 GB 作為備份使用。如果是服務(wù)器,建議根據(jù)實際負載調(diào)整。
- 這些操作需要 root 權(quán)限,使用
sudo。 - 如果系統(tǒng)使用 Swap 分區(qū)(而非文件),調(diào)整更復雜,可能需調(diào)整分區(qū)表(使用
gparted工具),建議在單用戶模式或 Live USB 下操作。
以下是兩種常見方法:調(diào)整現(xiàn)有 Swap 文件(推薦,簡單無風險)和創(chuàng)建新 Swap 文件(如果現(xiàn)有 Swap 不足)。我將以調(diào)整為 8 GB 為例。
方法一:調(diào)整現(xiàn)有 Swap 文件大?。ㄟm用于大多數(shù) Ubuntu 安裝)
查看當前 Swap 信息
運行命令確認當前 Swap 大小和位置:
sudo swapon --show
或
free -h
輸出示例:
NAME TYPE SIZE USED PRIO /swapfile file 1G 0B -2
這顯示 Swap 文件位于 /swapfile,大小 1 GB。
停用當前 Swap
sudo swapoff -a
(這會暫時禁用 Swap,確保沒有進程在使用它。如果系統(tǒng)內(nèi)存緊張,此步可能失敗——先關(guān)閉不必要程序。)
刪除舊 Swap 文件
sudo rm /swapfile
(確認文件已刪除:ls /swapfile 應(yīng)無輸出。)
創(chuàng)建新 Swap 文件(例如 8 GB)
使用 fallocate(更快)或 dd(更兼容):
(bs=1G count=8 表示塊大小 1 GB,創(chuàng)建 8 個塊。)
fallocate 方法:
sudo fallocate -l 8G /swapfile
dd 方法(如果 fallocate 不可用):
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
設(shè)置權(quán)限(僅 root 可讀寫):
sudo chmod 600 /swapfile
格式化為 Swap:
sudo mkswap /swapfile
啟用新 Swap:
sudo swapon /swapfile
永久生效(開機自動掛載):
編輯 /etc/fstab 文件:
sudo nano /etc/fstab
在文件末尾添加一行(如果已存在 /swapfile none swap sw 0 0,無需重復):
/swapfile none swap sw 0 0
保存退出(Ctrl+O, Enter, Ctrl+X)。
驗證:
sudo swapon --show free -h
應(yīng)顯示新大小 8 GB。
方法二:創(chuàng)建額外 Swap 文件(不刪除舊的,增加總空間)
如果不想修改現(xiàn)有 Swap,可創(chuàng)建新文件(例如 /newswapfile)并啟用。步驟類似方法一的 4-9,但路徑改為 /newswapfile,并在 /etc/fstab 中添加相應(yīng)行。
方法三:調(diào)整 Swap 分區(qū)(高級,需分區(qū)工具)
如果使用分區(qū)(非文件),需:
- 停用 Swap:
sudo swapoff -a。 - 使用
gparted(sudo apt install gparted)調(diào)整分區(qū)大?。ㄐ栉捶峙淇臻g)。 - 格式化:
sudo mkswap /dev/sdX(X 為分區(qū),如 sda3)。 - 更新
/etc/fstab和sudo swapon /dev/sdX。 - 重啟驗證。
警告:分區(qū)操作風險高,可能導致數(shù)據(jù)丟失。
優(yōu)化 Swap 使用
調(diào)整 Swappiness(Swap 使用傾向):默認 60(內(nèi)存用 40% 后開始 Swap)。設(shè)為 10(更傾向內(nèi)存)或 0(禁用 Swap):
sudo sysctl vm.swappiness=10
永久:編輯 /etc/sysctl.conf 添加 vm.swappiness=10,然后 sudo sysctl -p。
優(yōu)先級:如果多個 Swap,設(shè)置優(yōu)先級:sudo mkswap -p 10 /swapfile(數(shù)字越高優(yōu)先)。
如果遇到錯誤(如“no space left”),檢查磁盤空間:df -h。對于特定 Ubuntu 版本(如 24.04),步驟類似,但確認文件位置。
如果你的系統(tǒng)是服務(wù)器或有特殊配置,建議提供更多細節(jié)(如 swapon --show 輸出)以進一步診斷。
以上就是Ubuntu修改Swap交換空間大小的三種方法的詳細內(nèi)容,更多關(guān)于Ubuntu修改Swap交換空間大小的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
阿里云基于CentOS用vsftpd搭建FTP服務(wù)器
這篇文章主要介紹了阿里云CentOS系統(tǒng)yum方式安裝vsftpd的相關(guān)資料,最近想要了解的朋友可以了解一下。2016-10-10
Ubuntu18.04服務(wù)器密碼忘記或被篡改如何重置密碼
這篇文章主要介紹了Ubuntu18.04服務(wù)器密碼忘記或被篡改如何重置密碼,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
Linux多路轉(zhuǎn)接之select函數(shù)使用方式
這篇文章主要介紹了Linux多路轉(zhuǎn)接之select函數(shù)使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
linux查看主板內(nèi)存槽與內(nèi)存信息的命令dmidecode方法
下面小編就為大家?guī)硪黄猯inux查看主板內(nèi)存槽與內(nèi)存信息的命令dmidecode方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11

