1. 確認Swap文件狀態
首先通過以下命令檢查Swap文件是否啟用及狀態:
sudo swapon --show # 查看當前激活的Swap文件/分區
free -h # 查看內存與Swap使用情況(若Swap使用量為0或顯示錯誤,可能已損壞)
若輸出中無Swap文件信息或提示“設備未找到”,則需進行修復。
2. 禁用并刪除損壞的Swap文件
若確認Swap文件損壞,需先停止其使用并刪除舊文件:
sudo swapoff -a # 禁用所有Swap空間(包括當前損壞的Swap文件)
sudo rm /swapfile # 刪除損壞的Swap文件(路徑需替換為實際文件路徑,如/swapfile或/var/swapfile)
注意:操作前確保無重要進程正在使用Swap文件,避免數據丟失。
3. 重新創建Swap文件
根據系統需求選擇合適大?。ㄈ?GB內存建議分配4-8GB Swap),以下以truncate(快速)和fallocate(推薦)為例:
truncate快速創建(適用于大多數現代文件系統,如ext4、XFS):sudo truncate -s 4G /swapfile # 創建4GB大小的空文件(-s指定大?。?/span>
fallocate創建(更直觀,直接分配磁盤空間):sudo fallocate -l 4G /swapfile # 分配4GB磁盤空間給文件
設置文件權限(僅root可讀寫,防止誤操作):
sudo chmod 600 /swapfile
格式化為Swap空間(將普通文件轉換為系統可識別的交換空間):
sudo mkswap /swapfile
啟用新的Swap文件:
sudo swapon /swapfile
驗證是否生效:
sudo swapon --show # 應顯示新創建的Swap文件
free -h # Swap使用量應大于0
4. 配置開機自動掛載
編輯/etc/fstab文件,添加以下行(確保重啟后自動啟用Swap文件):
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
驗證配置是否正確:
sudo swapon --show # 應仍顯示Swap文件
5. 檢查并修復底層文件系統(可選)
若Swap文件反復損壞,可能是所在文件系統存在問題。需先卸載文件系統(若Swap文件在根分區,需進入救援模式),然后運行:
sudo fsck.ext3 /dev/sdXY # 替換為Swap文件所在分區(如/dev/sda1)
sudo xfs_repair /dev/sdXY
修復完成后重新掛載文件系統,再重復上述步驟創建Swap文件。
6. 其他可選方法
TestDisk或PhotoRec恢復數據(需安裝工具:sudo apt install testdisk)。注意事項:
/swapfile所在分區);