www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]Linux 系統(tǒng)中的第二種內(nèi)存類型--交換空間

無論什么操作系統(tǒng)交換Swap空間是非常常見的。Linux 使用交換空間來增加主機可用的虛擬內(nèi)存。它可以在常規(guī)文件或邏輯卷上使用一個或多個專用交換分區(qū)或交換文件。

典型計算機中有兩種基本類型的內(nèi)存。第一種類型,隨機存取存儲器 (RAM),用于存儲計算機使用的數(shù)據(jù)和程序。只有程序和數(shù)據(jù)存儲在 RAM 中,計算機才能使用它們。隨機存儲器是易失性存儲器;也就是說,如果計算機關閉了,存儲在 RAM 中的數(shù)據(jù)就會丟失。

硬盤是用于長期存儲數(shù)據(jù)和程序的磁性介質(zhì)。該磁介質(zhì)可以很好的保存數(shù)據(jù);即使計算機斷電,存儲在磁盤上的數(shù)據(jù)也會保留下來。CPU(中央處理器)不能直接訪問硬盤上的程序和數(shù)據(jù);它們必須首先復制到 RAM 中,RAM 是 CPU 訪問代碼指令和操作數(shù)據(jù)的地方。在引導過程中,計算機將特定的操作系統(tǒng)程序(如內(nèi)核、init 或 systemd)以及硬盤上的數(shù)據(jù)復制到 RAM 中,在 RAM 中,計算機的處理器 CPU 可以直接訪問這些數(shù)據(jù)。

交換空間

交換空間是現(xiàn)代 Linux 系統(tǒng)中的第二種內(nèi)存類型。交換空間的主要功能是當全部的 RAM 被占用并且需要更多內(nèi)存時,用磁盤空間代替 RAM 內(nèi)存。

例如,假設你有一個 8GB RAM 的計算機。如果你啟動的程序沒有填滿 RAM,一切都好,不需要交換。假設你在處理電子表格,當添加更多的行時,你電子表格會增長,加上所有正在運行的程序,將會占用全部的 RAM 。如果這時沒有可用的交換空間,你將不得不停止處理電子表格,直到關閉一些其他程序來釋放一些 RAM 。

內(nèi)核使用一個內(nèi)存管理程序來檢測最近沒有使用的內(nèi)存塊(內(nèi)存頁)。內(nèi)存管理程序?qū)⑦@些相對不經(jīng)常使用的內(nèi)存頁交換到硬盤上專門指定用于“分頁”或交換的特殊分區(qū)。這會釋放 RAM,為輸入電子表格更多數(shù)據(jù)騰出了空間。那些換出到硬盤的內(nèi)存頁面被內(nèi)核的內(nèi)存管理代碼跟蹤,如果需要,可以被分頁回 RAM。

Linux 計算機中的內(nèi)存總量是 RAM + 交換分區(qū),交換分區(qū)被稱為虛擬內(nèi)存.

Linux 交換分區(qū)類型

Linux 提供了兩種類型的交換空間。默認情況下,大多數(shù) Linux 在安裝時都會創(chuàng)建一個交換分區(qū),但是也可以使用一個特殊配置的文件作為交換文件。交換分區(qū)顧名思義就是一個標準磁盤分區(qū),由?mkswap?命令指定交換空間。

如果沒有可用磁盤空間來創(chuàng)建新的交換分區(qū),或者卷組中沒有空間為交換空間創(chuàng)建邏輯卷,則可以使用交換文件。這只是一個創(chuàng)建好并預分配指定大小的常規(guī)文件。然后運行?mkswap命令將其配置為交換空間。除非絕對必要,否則我不建議使用文件來做交換空間。(LCTT 譯注:Ubuntu 近來的版本采用了交換文件而非交換空間,所以我對于這種說法保留看法)

頻繁交換

當總虛擬內(nèi)存(RAM 和交換空間)變得快滿時,可能會發(fā)生頻繁交換。系統(tǒng)花了太多時間在交換空間和 RAM 之間做內(nèi)存塊的頁面切換,以至于幾乎沒有時間用于實際工作。這種情況的典型癥狀是:系統(tǒng)變得緩慢或完全無反應,硬盤指示燈幾乎持續(xù)亮起。

使用?free?的命令來顯示 CPU 負載和內(nèi)存使用情況,你會發(fā)現(xiàn) CPU 負載非常高,可能達到系統(tǒng)中 CPU 內(nèi)核數(shù)量的 30 到 40 倍。另一個情況是 RAM 和交換空間幾乎完全被分配了。

事實上,查看 SAR(系統(tǒng)活動報告)數(shù)據(jù)也可以顯示這些內(nèi)容。在我的每個系統(tǒng)上都安裝 SAR ,并將這些用于數(shù)據(jù)分析。

交換空間的正確大小是多少?

許多年前,硬盤上分配給交換空間大小是計算機上的 RAM 的兩倍(當然,這是大多數(shù)計算機的 RAM 以 KB 或 MB 為單位的時候)。因此,如果一臺計算機有 64KB 的 RAM,應該分配 128KB 的交換分區(qū)。該規(guī)則考慮到了這樣的事實情況,即 RAM 大小在當時非常小,分配超過 2 倍的 RAM 用于交換空間并不能提高性能。使用超過兩倍的 RAM 進行交換,比實際執(zhí)行有用的工作的時候,大多數(shù)系統(tǒng)將花費更多的時間。

RAM 現(xiàn)在已經(jīng)很便宜了,如今大多數(shù)計算機的 RAM 都達到了幾十億字節(jié)。我的大多數(shù)新電腦至少有 8GB 內(nèi)存,一臺有 32GB 內(nèi)存,我的主工作站有 64GB 內(nèi)存。我的舊電腦有 4 到 8GB 的內(nèi)存。

當操作具有大量 RAM 的計算機時,交換空間的限制性能系數(shù)遠低于 2 倍。Fedora 28 在線安裝指南?定義了當前關于交換空間分配的方法。下面內(nèi)容是我提出的建議。

下表根據(jù)系統(tǒng)中的 RAM 大小以及是否有足夠的內(nèi)存讓系統(tǒng)休眠,提供了交換分區(qū)的推薦大小。建議的交換分區(qū)大小是在安裝過程中自動建立的。但是,為了滿足系統(tǒng)休眠,您需要在自定義分區(qū)階段編輯交換空間。

表 1: Fedora 28 文檔中推薦的系統(tǒng)交換空間

系統(tǒng)內(nèi)存大小推薦的交換空間推薦的交換空間大?。ㄖС中菝吣J剑?/th>
小于 2 GB2 倍 RAM3 倍 RAM
2 GB – 8 GB等于 RAM 大小2 倍 RAM
8 GB – 64 GB0.5 倍 RAM1.5 倍 RAM
大于 64 GB工作量相關不建議休眠模式

在上面列出的每個范圍之間的邊界(例如,具有 2GB、8GB 或 64GB 的系統(tǒng) RAM),請根據(jù)所選交換空間和支持休眠功能請謹慎使用。如果你的系統(tǒng)資源允許,增加交換空間可能會帶來更好的性能。

當然,大多數(shù) Linux 管理員對多大的交換空間量有自己的想法。下面的表2 包含了基于我在多種環(huán)境中的個人經(jīng)歷所做出的建議。這些可能不適合你,但是和表 1 一樣,它們可能對你有所幫助。

表 2: 作者推薦的系統(tǒng)交換空間

RAM 大小推薦的交換空間
≤ 2GB2X RAM
2GB – 8GB= RAM
>8GB8GB

這兩個表中共同點,隨著 RAM 數(shù)量的增加,超過某一點增加更多交換空間只會導致在交換空間幾乎被全部使用之前就發(fā)生頻繁交換。根據(jù)以上建議,則應盡可能添加更多 RAM,而不是增加更多交換空間。如類似影響系統(tǒng)性能的情況一樣,請使用最適合你的建議。根據(jù) Linux 環(huán)境中的條件進行測試和更改是需要時間和精力的。

向非 LVM 磁盤環(huán)境添加更多交換空間

面對已安裝 Linux 的主機并對交換空間的需求不斷變化,有時有必要修改系統(tǒng)定義的交換空間的大小。此過程可用于需要增加交換空間大小的任何情況。它假設有足夠的可用磁盤空間。此過程還假設磁盤分區(qū)為 “原始的” EXT4 和交換分區(qū),而不是使用邏輯卷管理(LVM)。

基本步驟很簡單:

  1. 關閉現(xiàn)有的交換空間。

  2. 創(chuàng)建所需大小的新交換分區(qū)。

  3. 重讀分區(qū)表。

  4. 將分區(qū)配置為交換空間。

  5. 添加新分區(qū)到?/etc/fstab。

  6. 打開交換空間。

應該不需要重新啟動機器。

為了安全起見,在關閉交換空間前,至少你應該確保沒有應用程序在運行,也沒有交換空間在使用。free?或?top?命令可以告訴你交換空間是否在使用中。為了更安全,您可以恢復到運行級別 1 或單用戶模式。

使用關閉所有交換空間的命令關閉交換分區(qū):


1

swapoff -a

現(xiàn)在查看硬盤上的現(xiàn)有分區(qū)。


1

fdisk -l

這將顯示每個驅(qū)動器上的分區(qū)表。按編號標識當前的交換分區(qū)。

使用以下命令在交互模式下啟動?fdisk:


1

fdisk /dev/<device name>

例如:


1

fdisk /dev/sda

此時,fdisk?是交互方式的,只在指定的磁盤驅(qū)動器上進行操作。

使用?fdisk?的?p?子命令驗證磁盤上是否有足夠的可用空間來創(chuàng)建新的交換分區(qū)。硬盤上的空間以 512 字節(jié)的塊以及起始和結(jié)束柱面編號的形式顯示,因此您可能需要做一些計算來確定分配分區(qū)之間和末尾的可用空間。

使用?n?子命令創(chuàng)建新的交換分區(qū)。fdisk?會問你開始柱面。默認情況下,它選擇編號最低的可用柱面。如果你想改變這一點,輸入開始柱面的編號。

fdisk?命令允許你以多種格式輸入分區(qū)的大小,包括最后一個柱面號或字節(jié)、KB 或 MB 的大小。例如,鍵入 4000M ,這將在新分區(qū)上提供大約 4GB 的空間,然后按回車鍵。

使用?p?子命令來驗證分區(qū)是否按照指定的方式創(chuàng)建的。請注意,除非使用結(jié)束柱面編號,否則分區(qū)可能與你指定的不完全相同。fdisk?命令只能在整個柱面上增量的分配磁盤空間,因此你的分區(qū)可能比你指定的稍小或稍大。如果分區(qū)不是您想要的,你可以刪除它并重新創(chuàng)建它。

現(xiàn)在指定新分區(qū)是交換分區(qū)了 。子命令?t?允許你指定定分區(qū)的類型。所以輸入?t,指定分區(qū)號,當它要求十六進制分區(qū)類型時,輸入?82,這是 Linux 交換分區(qū)類型,然后按回車鍵。

當你對創(chuàng)建的分區(qū)感到滿意時,使用?w?子命令將新的分區(qū)表寫入磁盤。fdisk?程序?qū)⑼顺?,并在完成修改后的分區(qū)表的編寫后返回命令提示符。當?fdisk?完成寫入新分區(qū)表時,會收到以下消息:


1

2

3

4

5

6

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table.

The new table will be used at the next reboot.

Syncing disks.

此時,你使用?partprobe?命令強制內(nèi)核重新讀取分區(qū)表,這樣就不需要執(zhí)行重新啟動機器。


1

partprobe

使用命令?fdisk -l?列出分區(qū),新交換分區(qū)應該在列出的分區(qū)中。確保新的分區(qū)類型是 “Linux swap”。

修改?/etc/fstab?文件以指向新的交換分區(qū)。如下所示:


1

LABEL=SWAP-sdaX ? swap ? ? ? ?swap ? ?defaults ? ? ? ?0 0

其中?X?是分區(qū)號。根據(jù)新交換分區(qū)的位置,添加以下內(nèi)容:


1

/dev/sdaY ? ? ? ? swap ? ? ? ?swap ? ?defaults ? ? ? ?0 0

請確保使用正確的分區(qū)號。現(xiàn)在,可以執(zhí)行創(chuàng)建交換分區(qū)的最后一步。使用?mkswap?命令將分區(qū)定義為交換分區(qū)。


1

mkswap /dev/sdaY

最后一步是使用以下命令啟用交換空間:


1

swapon -a

你的新交換分區(qū)現(xiàn)在與以前存在的交換分區(qū)一起在線。您可以使用?free?或top?命令來驗證這一點。

在 LVM 磁盤環(huán)境中添加交換空間

如果你的磁盤使用 LVM ,更改交換空間將相當容易。同樣,假設當前交換卷所在的卷組中有可用空間。默認情況下,LVM 環(huán)境中的 Fedora Linux 在安裝過程將交換分區(qū)創(chuàng)建為邏輯卷。您可以非常簡單地增加交換卷的大小。

以下是在 LVM 環(huán)境中增加交換空間大小的步驟:

  1. 關閉所有交換空間。

  2. 增加指定用于交換空間的邏輯卷的大小。

  3. 為交換空間調(diào)整大小的卷配置。

  4. 啟用交換空間。

首先,讓我們使用?lvs?命令(列出邏輯卷)來驗證交換空間是否存在以及交換空間是否是邏輯卷。


1

2

3

4

5

6

7

8

9

10

[root@studentvm1 ~]# lvs

??LV???? VG????????????????Attr?????? LSize??Pool?? Origin Data%??Meta%??Move Log Cpy%Sync Convert

??home?? fedora_studentvm1 -wi-ao----??2.00g??????????????????????????????????????????????????????

??pool00 fedora_studentvm1 twi-aotz--??2.00g?????????????? 8.17?? 2.93????????????????????????????

??root?? fedora_studentvm1 Vwi-aotz--??2.00g pool00????????8.17??????????????????????????????????

??swap?? fedora_studentvm1 -wi-ao----??8.00g??????????????????????????????????????????????????????

??tmp????fedora_studentvm1 -wi-ao----??5.00g??????????????????????????????????????????????????????

??usr????fedora_studentvm1 -wi-ao---- 15.00g??????????????????????????????????????????????????????

??var????fedora_studentvm1 -wi-ao---- 10.00g??????????????????????????????????????????????????????

[root@studentvm1 ~]#

你可以看到當前的交換空間大小為 8GB。在這種情況下,我們希望將 2GB 添加到此交換卷中。首先,停止現(xiàn)有的交換空間。如果交換空間正在使用,終止正在運行的程序。


1

swapoff -a

現(xiàn)在增加邏輯卷的大小。


1

2

3

4

[root@studentvm1 ~]# lvextend -L +2G /dev/mapper/fedora_studentvm1-swap

? Size of logical volume fedora_studentvm1/swap changed from 8.00 GiB (2048 extents) to 10.00 GiB (2560 extents).

? Logical volume fedora_studentvm1/swap successfully resized.

[root@studentvm1 ~]#

運行?mkswap?命令將整個 10GB 分區(qū)變成交換空間。


1

2

3

4

5

[root@studentvm1 ~]# mkswap /dev/mapper/fedora_studentvm1-swap

mkswap: /dev/mapper/fedora_studentvm1-swap: warning: wiping old swap signature.

Setting up swapspace version 1, size = 10 GiB (10737414144 bytes)

no label, UUID=3cc2bee0-e746-4b66-aa2d-1ea15ef1574a

[root@studentvm1 ~]#

重新啟用交換空間。


1

2

[root@studentvm1 ~]# swapon -a

[root@studentvm1 ~]#

現(xiàn)在,使用?lsblk?命令驗證新交換空間是否存在。同樣,不需要重新啟動機器。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

[root@studentvm1 ~]# lsblk

NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MAJ:MIN RM ?SIZE RO TYPE MOUNTPOINT

sda ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?8:0 ? ?0 ? 60G ?0 disk

|-sda1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8:1 ? ?0 ? ?1G ?0 part /boot

`-sda2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8:2 ? ?0 ? 59G ?0 part

? |-fedora_studentvm1-pool00_tmeta ? 253:0 ? ?0 ? ?4M ?0 lvm ?

? | `-fedora_studentvm1-pool00-tpool 253:2 ? ?0 ? ?2G ?0 lvm ?

? | ? |-fedora_studentvm1-root ? ? ? 253:3 ? ?0 ? ?2G ?0 lvm ?/

? | ? `-fedora_studentvm1-pool00 ? ? 253:6 ? ?0 ? ?2G ?0 lvm ?

? |-fedora_studentvm1-pool00_tdata ? 253:1 ? ?0 ? ?2G ?0 lvm ?

? | `-fedora_studentvm1-pool00-tpool 253:2 ? ?0 ? ?2G ?0 lvm ?

? | ? |-fedora_studentvm1-root ? ? ? 253:3 ? ?0 ? ?2G ?0 lvm ?/

? | ? `-fedora_studentvm1-pool00 ? ? 253:6 ? ?0 ? ?2G ?0 lvm ?

? |-fedora_studentvm1-swap ? ? ? ? ? 253:4 ? ?0 ? 10G ?0 lvm ?[SWAP]

? |-fedora_studentvm1-usr ? ? ? ? ? ?253:5 ? ?0 ? 15G ?0 lvm ?/usr

? |-fedora_studentvm1-home ? ? ? ? ? 253:7 ? ?0 ? ?2G ?0 lvm ?/home

? |-fedora_studentvm1-var ? ? ? ? ? ?253:8 ? ?0 ? 10G ?0 lvm ?/var

? `-fedora_studentvm1-tmp ? ? ? ? ? ?253:9 ? ?0 ? ?5G ?0 lvm ?/tmp

sr0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 11:0 ? ?1 1024M ?0 rom ?

[root@studentvm1 ~]#

您也可以使用?swapon -s?命令或?top、free?或其他幾個命令來驗證這一點。


1

2

3

4

5

[root@studentvm1 ~]# free

? ? ? ? ? ? ? total ? ? ? ?used ? ? ? ?free ? ? ?shared ?buff/cache ? available

Mem: ? ? ? ?4038808 ? ? ?382404 ? ? 2754072 ? ? ? ?4152 ? ? ?902332 ? ? 3404184

Swap: ? ? ?10485756 ? ? ? ? ? 0 ? ?10485756

[root@studentvm1 ~]#

請注意,不同的命令以不同的形式顯示或要求輸入設備文件。在?/dev?目錄中訪問特定設備有多種方式。在我的文章?在 Linux 中管理設備?中有更多關于?/dev?目錄及其內(nèi)容說明。


本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉