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 = 10mh1112
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影片教學
#以上是linux交換分區是必須的嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!