當前位置: 首頁>>技術教程>>正文


交換分區與交換文件

,

問題描述

我正在閱讀 Ubuntu 17.04 的新變化,其中一個引起了我的注意,它正在從典型的交換分區模型轉移到用於新安裝的新交換文件模型。

與交換分區相比,使用它是否有好處,可能與性能、節省空間有關或在性能、空間節省方麵更符合當今的硬件,如 SSD 和 NVMe 或其他什麽?

另一個相關問題是如何從交換分區遷移到交換文件?我猜測使用 dd 但想確認一下,因為我直到現在才知道交換文件方案。

最後,休眠是否會成為交換文件的問題?

當然,這些問題可能與用戶擁有大量 RAM 並且很少使用交換的情況有關(我猜)。所以隻是為了確認這些信息將幫助我和其他有同樣疑問的人。

最佳答案

交換文件的主要優點是易於調整大小,因此除非您對交換分區大小不滿意,否則轉換沒有太大意義。為了安全起見,您可以將交換移動到加密分區,但還有其他加密交換的方法。

出於多種原因,傳統上不鼓勵交換文件。交換文件曾經是 slower before Linux v2.4 ,如果您在碎片化的文件係統上創建交換文件,可能仍然會更慢。您可能更有可能遇到交換文件的內存錯誤,例如 catch-22s,在您換出一些內存之前您無法分配更多內存,但文件係統需要在您換出之前進行分配。幾年前,出於類似原因,休眠到交換文件是一個有爭議的新功能。幾年前,當文件係統仍然有一些錯誤(並且沒有記錄)時,大量寫入重要的文件係統是不明智的,因為您可以隻使用交換文件。作為傳統的默認設置,交換分區的測試比交換文件多。想必Canonical認為這些問題已經不值得擔心了。

現在不切換到交換文件的最大原因是“為什麽要修複沒有損壞的東西”。如果你不備份你的主分區,並且不小心刪除了你的 /home 而不是你的交換文件,那麽試圖恢複它會很麻煩。

不切換到交換文件的另一個原因是,如果您使用的是 btrfsdoesn’t support swapfiles before kernel 5.0(通過慢速環回文件除外)


即使您決定使用交換文件,也沒有真正需要刪除交換分區,除非您的空間不足。如果需要,您可以同時使用兩者。如果您決定刪除交換分區,首先使用 Ubuntu LiveCD 啟動,然後轉到 try without installing 。然後在終端運行 gparted ,刪除交換分區,並調整剩餘分區的大小(首先進行備份可能是個好主意)。

現在重新啟動到您的常規 Ubuntu 安裝並創建交換文件。由於交換文件的優點是易於調整大小,因此您可能需要使用 SwapSpace 來管理交換文件的大小:

sudo apt install swapspace

您還可以按照以下說明手動創建交換文件:https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

長話短說,您可以通過將以下內容粘貼到終端中來製作 1G 交換文件

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

如果可行,您可以通過執行以下操作使其永久化:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/11890.html,未經允許,請勿轉載。