共計 1863 個字符,預計需要花費 5 分鐘才能閱讀完成。
本篇內容介紹了“linux 交換分區一定要有嗎”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
linux 交換分區不是必須的;linux 系統可以在沒有交換分區的情況下完美運行,在某些情況下,可以像嵌入式解決方案一樣,linux 可以不交換運行,交換分區擁有盡可能多的物理內存是避免交換的最佳解決方案。
本教程操作環境:linux7.3 系統、Dell G3 電腦。
linux 交換分區是必須的嗎
Linux 系統可以在沒有交換分區的情況下完美運行。
當您安裝 Linux 時,安裝過程可能會添加交換分區到硬盤以及 Linux 本身的分區。但是這個交換分區是什么用的,真的有必要嗎?
什么是交換?
當多任務操作系統用完物理內存時,無法啟動新進程或為現有進程分配更多內存。為了解決這個問題,本地存儲 (通常是硬盤驅動器) 上的一個特殊的空間塊被放在一邊作為一個臨時保存區操作系統這釋放了新的工作的記憶。當非活動進程再次變為活動狀態時,它將從本地存儲交換回內存。此過程稱為交換。
Is 交換空間真的有必要嗎?
Is 交換空間在技術上是必需的?
沒有。Linux 可以在沒有它的情況下工作,在某些情況下,像嵌入式解決方案一樣,Linux 可以不交換運行。如果操作系統進入它沒有的情況如果有足夠的物理 RAM,機器將運行沒有任何問題。
交換空間實際上是必需的?
雖然交換減慢了計算機(因為讀取和寫入硬盤比訪問 RAM 慢得多),并且擁有盡可能多的物理內存是避免交換的最佳解決方案,但是有合法的情況需要進行交換。例如,在系統引導過程中,可能會有一些進程運行(因此消耗系統內存),但可以在很長一段時間內有效地進行休眠。或分配的內存,寫入然后再不使用。在這些情況下,交換算法將開始將該內存遷移到硬盤,從而釋放寶貴的系統內存。這實際上確保了 RAM 的最大數量隨時可用,從而提高性能。
擴展知識
On 機器
為了完整起見,值得一提的是,Linux 還有一個稱為內存失敗者 (OOM) 的子系統,而不是在內存耗盡時停止內核,將開始殺死進程以釋放資源。它的動作是可配置的。
我應該分配多少交換空間?
沒有絕對的規則,由于硬盤空間便宜(美元 / 吉比特),最好分配太多太多的空間。作為經驗法則,您應該有兩到三倍的交換空間作為物理內存。
添加交換而不擴展交換分區
有兩種方法可以在不更改現有交換分區的情況下向系統添加交換空間。一種方法是在另一個驅動器上使用交換分區,另一種是使用交換文件。
要使用另一個硬盤驅動器,請創建一個類型的分區要立即使用交換空間要永久性地將交換空間添加到系統中,您需要編輯 / etc / fstab 文件并添加類似于 this:
/ dev / sdb2 的行無交換 sw 0 0
如果您的系統正在使用唯一的標識符命名磁盤,請使用 blkid 命令來獲取設備的 ID 列表。在 / etc / fstab 中安裝交換空間的行將看起來像是這樣的.:
UUID = 036da155-1ea1-4392-b8d4-700f65aa1ead none swap sw 0 0
要使用文件進行交換,請在該文件上創建一個大的空白文件 (使用 dd) 要用于交換的文件系統。例如,要創建一個 1GB 文件,type = 10mh2112
dd if = / dev / zero of = / store / swapfile bs = 1024 count = 1048576
Where / store / swapfile 是所需文件系統上交換文件的路徑。
As 與附加交換分區,該文件現在需要準備與 mkswap,然后與 swapon 一起使用。它還需要添加到 / etc / fstab 文件中。該過程與上述完全相同,但是您需要使用 / store / swapfile 而不是 / dev / sdb2 作為交換空間參數。
Swappiness
可以調整 Linux 內核以定義如何積極地嘗試將進程交換出內存。這種趨勢由稱為 swappiness 的內核變量控制。0 的意思是內核將盡可能避免交換,而 100 表示內核將如何使用交換空間是積極的。許多 Linux 發行版的默認設置是 60. 可以使用此命令動態地更改數字.:
sudo sysctl vm。swappiness = 10
要永久設置值,您需要更改(或添加,如果沒有)/ etc / sysctl 中的 swappiness 變量。conf 文件。
“linux 交換分區一定要有嗎”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!