系統RAM數量 | 推薦交換空間 | 推薦與休眠的交換 |
小于2GB | RAM數量的2倍 | RAM數量的3倍 |
2GB-8GB | 等于RAM的數量 | RAM數量的2倍 |
8 GB-64 GB | 內存數量的0.5倍 | 1.5倍的RAM數量 |
超過64 GB | 工作負荷依賴 | 不建議冬眠 |
在上面列出的每個范圍之間的邊界(例如,具有2GB、8GB或64 GB系統RAM的系統),對選擇的交換空間和休眠支持使用謹慎。如果您的系統資源允許的話,增加交換空間可能會帶來更好的性能。
當然,大多數Linux管理員對于交換空間的適當數量有自己的想法-以及幾乎所有其他的東西。下表2是我根據個人在多種環境中的經驗提出的建議。這些可能不適用于您,但與表1一樣,它們可能會幫助您開始工作。
表2:作者推薦的系統交換空間
RAM數量 | 推薦交換空間 |
≤2GB | 2x RAM |
2GB-8GB | =RAM |
>8GB | 8GB |
這兩個表中的一個考慮因素是,隨著RAM數量的增加,超過某個點,添加更多的交換空間只會在交換空間幾乎被填滿之前就會導致混亂。如果您在遵循這些建議的同時,虛擬內存太少,則應該在可能的情況下添加更多的RAM,而不是更多的交換空間。與影響系統性能的所有建議一樣,請使用對特定環境最有效的建議。這將需要時間和精力來根據您的Linux環境中的條件進行實驗和進行更改。
將更多的交換空間添加到非lvm磁盤環境中。
由于已經安裝了Linux的主機上對交換空間的需求發生了變化,可能需要修改為系統定義的交換空間的數量。此過程可用于任何需要增加交換空間的一般情況。它假定有足夠的可用磁盤空間。此過程還假定磁盤在“原始”EXT 4和交換分區中分區,不使用邏輯卷管理(LVM)。
要采取的基本步驟很簡單:
不應該需要重新啟動。
為了安全起見,在關閉交換之前,您至少應該確保沒有運行應用程序,也沒有使用交換空間。這,這個,那,那個free或top命令可以告訴您是否正在使用交換空間。為了更安全,您可以恢復到運行級別1或單用戶模式。
使用關閉所有交換空間的命令關閉交換分區:
swapoff -a
現在,在硬盤上顯示現有分區。
fdisk -l
這將顯示每個驅動器上的當前分區表。按編號標識當前交換分區。
啟動fdisk在與命令交互的模式下:
fdisk /dev/<device name>
例如:
fdisk /dev/sda
在這一點上,fdisk現在是交互式的,并且將只在指定的磁盤驅動器上運行。
使用fdiskp子命令來驗證磁盤上是否有足夠的空閑空間來創建新的交換分區。硬盤上的空間以512字節塊和起始和結束柱面數表示,因此您可能需要做一些計算來確定分配分區之間和末尾的可用空間。
使用n命令創建一個新的交換分區。fdisk會問你啟動汽缸的問題。默認情況下,它選擇編號最低的可用圓柱.如果希望更改,請鍵入起始氣缸的數目。
這,這個,那,那個fdisk命令現在允許您以多種格式輸入分區的大小,包括最后一個圓柱號或以字節、KB或MB為單位的大小。輸入4000米,這將在新分區上提供大約4GB的空間(例如),然后按Enter鍵。
使用p子命令,以驗證分區是否按您指定的方式創建。注意,除非使用結束圓柱號,否則分區可能不是您指定的。這,這個,那,那個fdisk命令只能在整個圓柱上以增量方式分配磁盤空間,因此分區可能比指定的要小或大一些。如果分區不是您想要的,您可以刪除它并再次創建它。
現在有必要指定新分區為交換分區。分命令t允許您指定分區的類型。所以進入t,指定分區號,當它請求十六進制代碼分區類型時,類型82,即Linux交換分區類型,然后按Enter鍵。
當您對所創建的分區感到滿意時,請使用w命令將新分區表寫入磁盤。這,這個,那,那個fdisk程序在完成修改后的分區表后將退出并返回到命令提示符。您可能會收到以下消息:fdisk完成編寫新分區表:
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命令強制內核重新讀取分區表,以便不需要執行重新啟動。
partprobe
現在使用以下命令fdisk -l要列出分區和新的交換分區,應該在列出的分區中。確保新的分區類型是“Linux交換”。
為了指向新的交換分區,必須修改/etc/fSTAB文件?,F有的行可能如下所示:
LABEL=SWAP-sdaX swap swap defaults 0 0
哪里X是分區號。根據新交換分區的位置,添加一個類似于此的新行:
/dev/sdaY swap swap defaults 0 0
確保使用正確的分區號。現在,您可以執行創建交換分區的最后一步。使用mkswap命令將分區定義為交換分區。
mkswap /dev/sdaY
最后一步是使用以下命令打開交換:
swapon -a
您的新交換分區現在與以前存在的交換分區一起聯機。您可以使用free或top驗證這一點的命令。
將交換添加到lvm磁盤環境中。
如果您的磁盤安裝程序使用LVM,則更改交換空間將相當容易。同樣,這假設當前交換卷所在的卷組中有可用的空間。默認情況下,LVM環境中FedoraLinux的安裝過程會將交換分區創建為邏輯卷。這很容易,因為您可以簡單地增加交換卷的大小。
以下是在LVM環境中增加交換空間所需的步驟:
首先,讓我們使用lvs命令(列出邏輯卷)。
[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添加到此交換卷中。首先,停止現有的交換。如果正在使用交換空間,則可能必須終止正在運行的程序。
swapoff -a
現在增加邏輯卷的大小。
[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命令將整個10 GB分區放入交換空間。
[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 ~]#
打開掉包。
[root@studentvm1 ~]# swapon -a [root@studentvm1 ~]#
現在,使用List塊設備命令驗證新的交換空間是否存在。同樣,不需要重新啟動。
[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,或者其他幾個命令中的任何一個來驗證這一點。
[root@studentvm1 ~]# free total used free shared buff/cache available Mem: 4038808 382404 2754072 4152 902332 3404184 Swap: 10485756 0 10485756 [root@studentvm1 ~]#
注意,不同的命令以不同的形式顯示或要求設備特殊文件作為輸入。在/dev目錄中訪問特定設備的方式有很多種。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
標簽:岳陽 ???/a> 鎮江 紅河 烏海 臨沂 四川 股票
巨人網絡通訊聲明:本文標題《Linux系統交換空間介紹》,本文關鍵詞 Linux,系統,交換,空間,介紹,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。