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

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

系統(tǒng) Linux
良許就和大家來討論下計(jì)算機(jī)的內(nèi)存如果不夠用了, 虛擬內(nèi)存技術(shù)的應(yīng)用,虛擬內(nèi)存的出現(xiàn),讓機(jī)器內(nèi)存不夠的情況得到部分解決,大家需要注意的是有些資料也將虛擬內(nèi)存稱之為交換內(nèi)存。

大家好,我是良許。

熟悉計(jì)算機(jī)的小伙伴都知道,我們常說的主機(jī)三大件分別是主板,CPU,內(nèi)存,可見內(nèi)存在計(jì)算機(jī)主機(jī)中的角色也非同一般,喜歡 DIY 主機(jī)的小伙伴對(duì)這三大件的了解更是精益求精。

編寫過程序的小伙伴對(duì)于程序的執(zhí)行過程,也是耳熟能詳了,先從硬盤加載到內(nèi)存,然后 CPU 與內(nèi)存進(jìn)行數(shù)據(jù)交換與處理,完成相應(yīng)的操作(真實(shí)執(zhí)行細(xì)節(jié)相當(dāng)復(fù)雜),從而實(shí)現(xiàn)相應(yīng)的功能。

但是內(nèi)存的容量非常有限,由于內(nèi)存的造價(jià)較高(目前常用的內(nèi)存為雙倍速 SDRAM ),計(jì)算機(jī)用戶升級(jí)內(nèi)存容量也是一筆不小的開支。

那么良許就和大家來討論下計(jì)算機(jī)的內(nèi)存如果不夠用了, 虛擬內(nèi)存技術(shù)的應(yīng)用,虛擬內(nèi)存的出現(xiàn),讓機(jī)器內(nèi)存不夠的情況得到部分解決,大家需要注意的是有些資料也將虛擬內(nèi)存稱之為交換內(nèi)存。

[[336852]]

1. 討論虛擬內(nèi)存前的熱身

我們需要知道的是計(jì)算機(jī)對(duì)內(nèi)存分為物理內(nèi)存與虛擬內(nèi)存(注意虛擬內(nèi)存和虛擬地址空間的區(qū)別)。物理內(nèi)存就是計(jì)算機(jī)的實(shí)際內(nèi)存大小,由 RAM 芯片組成的。虛擬內(nèi)存則是虛擬出來的、使用磁盤代替內(nèi)存。

2. 虛擬內(nèi)存的工作原理

正如前面所描述的,當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時(shí)候,就需要將物理內(nèi)存中的一部分空間釋放出來,以供當(dāng)前運(yùn)行的程序使用。

那些被釋放的空間可能來自一些很長(zhǎng)時(shí)間沒有什么操作的程序,這些被釋放的空間被臨時(shí)保存到交換空間中,等到那些程序要運(yùn)行時(shí),再?gòu)慕粨Q空間中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。

3. Linux 虛擬內(nèi)存的實(shí)現(xiàn)方式

Linux 系統(tǒng)實(shí)現(xiàn)虛擬內(nèi)存有兩種方法,分別是交換分區(qū)( swap 分區(qū))和交換文件。

  • 交換分區(qū):交換分區(qū)其實(shí)就是新建一個(gè)分區(qū),然后將該分區(qū)掛載作為交換空間,方法步驟與傳統(tǒng)的新建分區(qū)一樣。只不過格式化分區(qū)和掛載分區(qū)分別采用 mkswap 和 swapon 命令。
  • 交換文件:硬盤驅(qū)動(dòng)器中沒有足夠的空間來創(chuàng)建交換分區(qū),我們就會(huì)手動(dòng)創(chuàng)建一個(gè)交換文件以將 RAM 的非活動(dòng)內(nèi)容交換到其中。

4. 理想的交換權(quán)重

Linux 允許我們自行設(shè)置交換的權(quán)重,也就是說我們可以設(shè)置交換過程發(fā)生的頻率。小伙伴們可以根據(jù)需要在0到100之間設(shè)置交換的權(quán)重。值越小則代表會(huì)讓內(nèi)核盡量少用交換,值越大會(huì)使內(nèi)核更多的去使用交換空間。

交換權(quán)重的默認(rèn)值和建議值為60,有興趣的小伙伴可以具體去學(xué)習(xí) swappiness ,這個(gè) Linux 內(nèi)核參數(shù),這里不做過多的描述了。

5. 使用虛擬內(nèi)存的好處

  • 它可以輕松地保存那些幾乎不使用而又被占用的 RAM 塊。然后可以將釋放的 RAM 用于容納更多具有更高優(yōu)先級(jí)的程序。
  • 防止 RAM 空間用完,無法執(zhí)行其他程序的局面。
  • 虛擬內(nèi)存充當(dāng)了 RAM 的備份,從而增大了 RAM 的實(shí)際空間。
  • 在休眠過程中,RAM 的所有內(nèi)容均寫入交換空間。因此,成功進(jìn)行休眠,虛擬內(nèi)存是必需的。
  • 它提高了系統(tǒng)的整體性能。(在內(nèi)核參數(shù) swappiness 設(shè)置合理的情況下)

6. 結(jié)論

在本文中,我們學(xué)習(xí)了交換內(nèi)存以及它的許多好處,RAM 空間不足時(shí),它將作為 RAM 的擴(kuò)充進(jìn)行使用,避免我們的應(yīng)用程序因內(nèi)存不足而崩潰。

其實(shí),Swap的調(diào)整對(duì) Linux 服務(wù)器,特別是 Web 服務(wù)器的性能至關(guān)重要。通過調(diào)整 Swap,有時(shí)可以越過系統(tǒng)性能瓶頸,節(jié)省系統(tǒng)升級(jí)費(fèi)用。

本文授權(quán)轉(zhuǎn)載自公眾號(hào)「良許Linux」。良許,世界500強(qiáng)外企Linux開發(fā)工程師,公眾號(hào)里分享大量Linux干貨,歡迎關(guān)注!

 

責(zé)任編輯:趙寧寧 來源: 良許Linux
相關(guān)推薦

2024-10-18 10:00:00

云計(jì)算虛擬

2020-04-14 16:03:31

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

2021-07-13 09:08:19

磁盤陣列系統(tǒng)

2020-10-20 09:57:04

量子計(jì)算人工智能技術(shù)

2024-01-25 10:23:22

對(duì)象存儲(chǔ)存儲(chǔ)數(shù)據(jù)

2009-06-17 15:51:55

java有什么用

2017-11-22 15:50:58

Netty微服務(wù)RPC

2017-09-19 15:22:44

2022-05-05 07:38:32

volatilJava并發(fā)

2022-11-07 12:45:30

ripgrep命令Linux

2020-11-02 07:05:54

虛擬內(nèi)存Go

2021-02-21 23:49:45

比特幣貨幣人民幣

2024-02-19 00:00:00

Python?starmap函數(shù)

2021-09-10 07:59:31

中斷鎖Java多線編程

2022-12-05 13:58:36

2010-06-10 17:12:23

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

2020-06-04 18:21:34

CPU緩存Intel

2023-12-13 15:28:32

Python工具數(shù)據(jù)

2022-02-16 22:37:00

流式SQLSQL數(shù)據(jù)庫(kù)

2022-08-02 09:02:17

虛擬內(nèi)存操作系統(tǒng)
點(diǎn)贊
收藏

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