在 4 GB 的 32 位元作業系統上交換是否有意義?

在 4 GB 的 32 位元作業系統上交換是否有意義?

如果我已經有 32 位元作業系統 (Linux) 和 4 GB RAM,那麼擁有交換空間是否有意義?

因為它必須可以使用 32 位元位址進行尋址,而這些位址已經被 RAM 全部“用完”,所以作業系統是否可以存取交換?

答案1

當然。為什麼不呢?我認為更相關的問題是現在使用 32 位元作業系統是否有意義,但我離題了。

首先,您錯誤地認為 32 位元作業系統只能尋址 4 GB 內存,但實際情況並非如此。 32 位元系統可以透過使用實體位址擴充 (PAE) 尋址超過 4 GB 的內存,而在 Linux 中,從核心版本 2.3.23 開始就支援這一點,允許尋址高達 64 GB 的記憶體。因此,實際上,擁有 4 GB RAM 並不是特別重要。

此外,當您考慮什麼是交換時,交換幾乎總是有意義的。交換只是虛擬內存,虛擬內存的出現是因為 RAM 歷來比磁碟儲存更昂貴。從本質上講,它是一種透過限制軟體所需的相對昂貴的RAM 的數量,讓一些相對便宜的磁碟空間用於儲存記憶體內容,而不是要求所有內容都保存在RAM 中,從而使計算更具成本效益的解決方案。從較高的層面來看,所有交換記憶體或虛擬記憶體都是一個比 RAM 慢的記憶體位置,但比從磁碟的隨機部分讀取速度快,就像讀取臨時檔案一樣。因此,作業系統使用虛擬記憶體來儲存它們不希望需要或不希望「很快」需要的記憶體內容。它基本上就像一個儲存記憶體內容的等候室。

因為這個解決方案非常有效,所以通用運算作業系統(即「Linux」)期望虛擬記憶體可用,雖然通常可以停用它,但幾乎沒有充分的理由這樣做。即使你的作業系統的記憶體超過了它的需要,讓其在虛擬記憶體中儲存不經常存取的資料基本上沒有什麼壞處,而且在絕大多數情況下,禁用虛擬記憶體沒有任何好處,而虛擬記憶體已經成為作業系統的標準配置多年來——當你沒有從改變中獲得任何好處時,為什麼要改變一些東西?

因此,總而言之,使用交換幾乎總是“有意義”,既因為 32 位元作業系統可以並且確實尋址超過 4 GB 的內存,又因為交換是一個存儲不經常訪問的數據的位置,速度比 RAM 慢,但比隨機磁碟更快。

相關內容