多個分佈的交換分離

多個分佈的交換分離

我的機器上有 3 個 Linux 發行版(Ubuntu、Arch 和 Fedora)。我為它們分配了一半的 RAM 大小(3GB)作為交換空間。 (我意識到擁有 3 個發行版對我來說沒有多大用處,但我仍然擁有它們。)

現在的問題是,3 個發行版在載入時掛載了所有 3 個交換分割區,並將交換分割區視為單一 9GB 分割區。

現在,當我使系統休眠時,顯然沒有任何發行版從休眠狀態中醒來。

有什麼辦法可以克服這個問題嗎?

答案1

如果您只想在 3 個發行版之間共用一個交換分割區,則建立一個交換分割區,然後透過它來設定每個發行版,/etc/fstab以便每個發行版都使用相同的分割區。

 /dev/sda1 swap                    swap    defaults        0 0

這個問題更詳細地討論了這樣做:當兩個發行版共享交換分割區時會產生副作用嗎?

具體來說,從 @Gilles 在該問答中的回答來看,您無法將 2 個作業系統休眠到同一個交換中,並讓它們能夠恢復。從他的回答來看:

您無法在執行其中一個作業系統時休眠另一個作業系統。

如果您正在考慮同時運行任何發行版(我認為您沒有這樣做),那麼這是危險的,不應該這樣做。看我對這個問題的回答:多個虛擬機器上的Linux系統可以共用同一個交換分割區嗎?

答案2

作為替代方案slm 的回答,如果您希望每個安裝僅使用一個交換分割區(這聽起來像我),則編輯 /etc/fstab 並刪除或註解掉swap除您希望相關安裝使用的類型條目之外的所有類型條目。重新啟動後,您應該可以確認cat /proc/swaps只有一個交換分割區正在使用。

很有可能每個發行版的安裝程式都偵測到了三個交換分區,並且只是對自己說「哎呀,它們都在那裡,不妨好好利用它們!」。它應該不過,我先問過你如何處理它們。

請注意,只有一半的 RAM 大小作為交換並使用休眠可能會很挑剔。它可能有效,然後又可能無效,取決於 RAM 實際上有多少數據無法從緩存中逐出。

相關內容