您好,登錄后才能下訂單哦!
本篇內容介紹了“linux交換分區一定要有嗎”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
linux交換分區不是必須的;linux系統可以在沒有交換分區的情況下完美運行,在某些情況下,可以像嵌入式解決方案一樣,linux可以不交換運行,交換分區擁有盡可能多的物理內存是避免交換的最佳解決方案。
本教程操作環境:linux7.3系統、Dell G3電腦。
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交換分區一定要有嗎”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。