自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡單明了!理解 Linux 虛擬內(nèi)存的所有信息

系統(tǒng) Linux
虛擬內(nèi)存是從機器物理內(nèi)存中提取出來的一種表示內(nèi)存的方式。它利用了你的 RAM 和你的存儲空間,無論是在傳統(tǒng)的硬盤驅(qū)動器還是 SSD 上。

虛擬內(nèi)存可幫助操作系統(tǒng)在不中斷的情況下執(zhí)行其進程。虛擬內(nèi)存是現(xiàn)代操作系統(tǒng)的基礎(chǔ)之一,但通常情況下,除非遇到問題,否則您也可能不會真正考慮它。Linux 發(fā)行版要求您在安裝期間設(shè)置虛擬內(nèi)存空間(交換分區(qū)),但大多數(shù)初學(xué)者并不知道這有多大用處。

以下是您需要了解的有關(guān) Linux 上的虛擬內(nèi)存的所有信息。

什么是虛擬內(nèi)存?

虛擬內(nèi)存是從機器物理內(nèi)存中提取出來的一種表示內(nèi)存的方式。它利用了你的 RAM 和你的存儲空間,無論是在傳統(tǒng)的硬盤驅(qū)動器還是 SSD 上。

在Linux 中,這是在內(nèi)核和硬件級別完成的。CPU 有一個稱為內(nèi)存管理單元 (MMU) 的硬件,它將物理內(nèi)存地址轉(zhuǎn)換為虛擬內(nèi)存地址。這些地址與它們在機器上的物理位置無關(guān)。這些地址空間被稱為“頁面”,它們可能位于 RAM 中,也可能位于您的硬盤驅(qū)動器或 SSD 中。操作系統(tǒng)將這些地址視為一個大內(nèi)存池,稱為“地址空間”。

虛擬內(nèi)存利用了這樣一個事實,即理論上并非所有正在使用的內(nèi)存都一直在使用。內(nèi)存中的程序被分解成頁面,內(nèi)核認為不必要的部分被“換出”或移動到硬盤驅(qū)動器。當需要它們時,可以將它們“換入”或帶回 RAM。

驅(qū)動器上用于虛擬內(nèi)存的空間稱為“后備存儲”或“交換空間”。在 Windows 世界中,它通常被實現(xiàn)為一個文件,稱為“交換文件”。在 Linux 中也可以這樣做,但使用專用磁盤分區(qū)更為常見。

Linux 上的交換文件通常保留給最小系統(tǒng)或嵌入式系統(tǒng),后者通常在完全沒有虛擬內(nèi)存的情況下運行,因為嵌入式操作系統(tǒng)必須很小。

虛擬內(nèi)存的結(jié)果是,可以通過使用比機器中的物理 RAM 更多的內(nèi)存來運行大型程序,類似于信用卡可以讓您以比銀行賬戶中更多的錢進行大宗購買。就像信用卡一樣,虛擬內(nèi)存在您需要時很有用,但您不想過度使用它。虛擬內(nèi)存還允許開發(fā)人員創(chuàng)建應(yīng)用程序,而不必知道計算機的內(nèi)存是如何組織的。

歷史上虛擬內(nèi)存的主要缺點是硬盤驅(qū)動器比 RAM 慢。如果一臺機器沒有足夠的 RAM,系統(tǒng)可以無休止地交換頁面,這個過程被稱為“抖動”。在具有更多 RAM 和更快 SSD 取代機械硬盤驅(qū)動器的現(xiàn)代 PC 上,這不是問題,但仍然需要注意。

Linux 交換分區(qū)

圖片

來自:Linux 中的交換空間及其用途?https://www.linuxmi.com/linux-swap.html如前所述,在 Linux 上設(shè)置虛擬內(nèi)存的常用方法是使用專用磁盤分區(qū)。安裝實用程序?qū)z查您的硬件并提出一個包含交換分區(qū)的分區(qū)方案。您還可以在安裝后添加交換分區(qū)。如果要向現(xiàn)有驅(qū)動器添加新分區(qū),則必須使用 GParted 等非破壞性分區(qū)工具。確保您已選擇“Linux swap”作為分區(qū)的文件系統(tǒng)。在重新分區(qū)驅(qū)動器之前備份重要數(shù)據(jù)。創(chuàng)建分區(qū)后,使用 mkswap 命令格式化分區(qū)。

sudo mkswap /dev/sdX

現(xiàn)在您必須以 root 身份編輯您的/etc/fstab以添加您的交換分區(qū)。添加到文件中的這一行將設(shè)置一個在引導(dǎo)時掛載的交換分區(qū):

/dev/sdX none swap defaults 0 0

現(xiàn)在使用swapon命令激活新的交換空間,其中 sdX 是交換分區(qū)的名稱:

sudo swapon /dev/sdX

在 Linux 上使用交換文件

使用命令行在Linux 中設(shè)置交換文件很容易。如果您不想費心重新分區(qū)驅(qū)動器,可能想要編輯/etc/fstab 。一種方法是使用fallocate:例如,要創(chuàng)建一個 2GB 的交換文件:

sudo fallocate -l 2G /path/to/swapfile

作為替代方案,您可以使用 dd 命令創(chuàng)建交換文件。

sudo dd if=/dev/zero of=/path/to/swapfile bs=1024 count=2048

確保正確使用 dd 命令,因為輸入文件和輸出文件錯誤會導(dǎo)致數(shù)據(jù)丟失。出于這個原因, fallocate 是首選方法。/dev/zero 設(shè)備是輸出“0”的特殊設(shè)備。此 dd 命令所做的是使用適合用作交換空間的 1024 KB 塊創(chuàng)建一個空白的 2 GB 塊文件。然后,您可以像使用交換分區(qū)一樣對交換文件使用mkswapswapon命令:

sudo mkswap /path/to/swapfile
sudo swapon /path/to/swapfile

您可能想知道何時應(yīng)該為您的交換空間使用交換文件或?qū)S梅謪^(qū)。選擇很簡單:在大多數(shù)情況下,您應(yīng)該使用分區(qū)。這是 Linux 桌面或服務(wù)器的最佳選擇。安裝程序建議的分區(qū)方案通常適用于單用戶 Linux 桌面。如果您在虛擬機、小型嵌入式系統(tǒng)上運行 Linux,或者您只是不想對現(xiàn)有 Linux 系統(tǒng)進行重新分區(qū),則可能需要使用交換文件。

多少交換空間?

多年來,需要多少交換空間的標準建議是物理 RAM 的兩倍。即使是最便宜的 PC 也配備大容量驅(qū)動器和大量內(nèi)存,這條規(guī)則可能會受到質(zhì)疑。在許多系統(tǒng)上,如果您檢查 top 或 htop,您甚至可能會注意到如果您以這種方式設(shè)置系統(tǒng),您的交換空間甚至根本沒有被使用。

圖片

盡管如此,如果您對內(nèi)存提出更高的要求,兩倍的物理內(nèi)存是一個很好的起點和保險政策。您可以根據(jù)需要對系統(tǒng)進行更改。如果您的系統(tǒng)正在使用所有 RAM,則計算機在使用虛擬內(nèi)存時可能會遇到性能問題。如今,這已經(jīng)不是什么大問題了,因為即使是最便宜的 PC 上的 RAM 量也綽綽有余,而且 SSD 的速度也比舊硬盤快得多。這仍然是您應(yīng)該注意的事情。解決此問題的最簡單方法是向您的計算機添加更多 RAM。如果這不可行,您可以嘗試調(diào)整 Linux 內(nèi)核的“swappiness”。swappiness 數(shù)字決定了內(nèi)核在虛擬內(nèi)存中的投入量。它的范圍從 0 到 100。將其設(shè)置為 0 意味著 Linux 根本不會交換,而在 100 時,它會隨時交換。大多數(shù)系統(tǒng)的默認值為 60。要臨時更改 swappiness,請使用 sysctl 命令:

sudo sysctl vm.swappiness=20

該命令中的“20”將是交換編號,直到您重新啟動。要永久更改它,請以 root 身份編輯/etc/sysctl.conf文件并放置“vm.swappiness=[swappiness number]”行,其中“[swappiness number]”是您想要的 swappiness 編號。在您可以安裝更多 RAM 之前,這將是一個權(quán)宜之計。

虛擬內(nèi)存讓您的 Linux 系統(tǒng)平穩(wěn)運行

虛擬內(nèi)存是現(xiàn)代操作系統(tǒng)(包括 Linux)的一個組件,可讓您的計算機平穩(wěn)運行。您可以使用交換文件,但通常的方法是專用分區(qū)。您不必考慮太多,但 Linux 交換分區(qū)和交換文件很容易設(shè)置和排除故障。很多這樣的建議也適用于其他系統(tǒng),包括 Windows,即使設(shè)置虛擬內(nèi)存的方法不同。

責任編輯:龐桂玉 來源: 簡單明了!理解 Linux 虛
相關(guān)推薦

2023-06-25 12:10:34

Linux文件權(quán)限

2019-12-26 08:45:46

Linux虛擬內(nèi)存

2021-06-01 08:20:55

Linux虛擬內(nèi)存命令

2022-08-21 16:52:27

Linux虛擬內(nèi)存

2009-11-11 13:13:00

ADO.NET分頁

2020-05-27 09:30:52

JavaScript重構(gòu)函數(shù)

2015-02-28 11:36:01

FDD

2010-06-10 17:12:23

Linux 內(nèi)存監(jiān)控

2022-03-22 08:24:10

冒泡排序算法JS

2010-04-15 11:50:14

無線局域網(wǎng)安全配置

2018-12-28 10:43:59

5G公式4G

2020-04-14 16:03:31

Linux虛擬內(nèi)存操作系統(tǒng)

2018-03-19 09:42:33

智能制造

2020-02-25 15:00:42

數(shù)據(jù)分布式架構(gòu)

2014-01-14 10:52:06

Linux vmsta虛擬內(nèi)存

2019-03-14 09:29:02

Linux系統(tǒng)內(nèi)存

2022-08-02 09:02:17

虛擬內(nèi)存操作系統(tǒng)

2019-03-20 14:29:46

Linux虛擬內(nèi)存

2022-10-24 08:48:07

虛擬內(nèi)存Linux

2025-02-12 11:59:15

DeepSeekAI語言模型
點贊
收藏

51CTO技術(shù)棧公眾號