Linux創(chuàng)建交換分區(qū)方式
交換分區(qū)(Swap Partition)在 Linux 系統(tǒng)中是一種特殊的磁盤分區(qū)。它的主要功能是作為內(nèi)存(RAM)的補(bǔ)充,當(dāng)系統(tǒng)的物理內(nèi)存(Random Access Memory)不夠用的時(shí)候,操作系統(tǒng)會(huì)將一部分暫時(shí)不使用的內(nèi)存數(shù)據(jù)移動(dòng)到交換分區(qū)中,從而為當(dāng)前正在運(yùn)行的程序騰出物理內(nèi)存空間。
這就好比是一個(gè)備用的 “倉(cāng)庫(kù)”,當(dāng)主倉(cāng)庫(kù)(物理內(nèi)存)裝滿時(shí),可以把一些暫時(shí)不用的 “貨物”(數(shù)據(jù))存放到備用倉(cāng)庫(kù)(交換分區(qū))里。
交換分區(qū)大小的選擇:交換分區(qū)的大小一般依據(jù)系統(tǒng)的內(nèi)存大小來確定。
| 系統(tǒng)內(nèi)存(G) | 交換分區(qū)大?。℅) | 說明 |
|---|---|---|
| <4 | 2-4 | 如果系統(tǒng)內(nèi)存小于 4GB,交換分區(qū)大小通常建議設(shè)置為內(nèi)存大小的 1 - 2 倍 |
| 4-16 | 12 | 對(duì)于內(nèi)存大小在 4GB - 16GB 之間的系統(tǒng),交換分區(qū)可以設(shè)置為內(nèi)存大小的 1.5 倍左右 |
| >16 | 16-32 | 當(dāng)系統(tǒng)內(nèi)存大于 16GB 時(shí),交換分區(qū)大小可以設(shè)置為內(nèi)存大小的 0.5 - 1 倍 |
方法一:使用物理分區(qū)創(chuàng)建Swap分區(qū)
1.檢查磁盤空間
使用命令lsblk來查看磁盤的分區(qū)情況和可用空間
[root@centos7-171 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part ├─centos_centos7--171-root 253:0 0 45.1G 0 lvm / └─centos_centos7--171-swap 253:1 0 3.9G 0 lvm [SWAP] sdb 8:16 0 5G 0 disk sr0 11:0 1 4.4G 0 rom [root@centos7-171 ~]#
由上可以看出,sdb盤共5G容量,剩余5G可用,下面就使用該盤創(chuàng)建4G的交換分區(qū)。
2.創(chuàng)建分區(qū)
命令:fdisk /dev/sdb
(1)建立新的分區(qū):
- 輸入 p 打印現(xiàn)有分區(qū)情況(還沒有分區(qū))
- 輸入 n 新建分區(qū)
- 輸入 p 為建立主分區(qū)(此時(shí)的p是在n后的,不是打印)
- 分區(qū)號(hào)選擇可以直接回車,選擇默認(rèn)
- 分區(qū)起始位置可以直接回車,選擇默認(rèn)
- 分區(qū)結(jié)束位置輸入 +4G(創(chuàng)建4G大小的分區(qū))
- 輸入 p 打印分區(qū)情況,發(fā)現(xiàn)已建立一個(gè)分區(qū)/dev/sdb1,但是此分區(qū)為 Linux 格式
(2)改變系統(tǒng)標(biāo)識(shí)符:
- 輸入 t 改變分區(qū)1的屬性
- 輸入 L 查看有個(gè)屬性對(duì)應(yīng)的命令
- 輸入 82改變分區(qū)1為 Linux swap標(biāo)識(shí)
- 輸入 p 打印分區(qū)情況,發(fā)現(xiàn)建立的分區(qū) /dev/sdb1 為 Linux swap
- 輸入 w 保存并退出分區(qū)
[root@centos7-171 ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。
使用寫入命令前請(qǐng)三思。
Device does not contain a recognized partition table
使用磁盤標(biāo)識(shí)符 0x3975c095 創(chuàng)建新的 DOS 磁盤標(biāo)簽。
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:5368 MB, 5368709120 字節(jié),10485760 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x3975c095
設(shè)備 Boot Start End Blocks Id System
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分區(qū)號(hào) (1-4,默認(rèn) 1):
起始 扇區(qū) (2048-10485759,默認(rèn)為 2048):
將使用默認(rèn)值 2048
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2048-10485759,默認(rèn)為 10485759):+4G
分區(qū) 1 已設(shè)置為 Linux 類型,大小設(shè)為 4 GiB
命令(輸入 m 獲取幫助):t
已選擇分區(qū) 1
Hex 代碼(輸入 L 列出所有代碼):L
0 空 24 NEC DOS 81 Minix / 舊 Linu bf Solaris
1 FAT12 27 隱藏的 NTFS Win 82 Linux 交換 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隱藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 擴(kuò)展 c7 Syrinx
5 擴(kuò)展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系統(tǒng)數(shù)據(jù)
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 純文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可啟動(dòng) 4f QNX4.x 第3部分 93 Amoeba e1 DOS 訪問
a OS/2 啟動(dòng)管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 擴(kuò)展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隱藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 診斷 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隱藏的 FAT16 <3 61 SpeedStor ab Darwin 啟動(dòng) f2 DOS 次要
16 隱藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隱藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自動(dòng)
1b 隱藏的 W95 FAT3 70 DiskSecure 多啟 bb Boot Wizard 隱 fe LANstep
1c 隱藏的 W95 FAT3 75 PC/IX be Solaris 啟動(dòng) ff BBT
1e 隱藏的 W95 FAT1 80 舊 Minix
Hex 代碼(輸入 L 列出所有代碼):82
已將分區(qū)“Linux”的類型更改為“Linux swap / Solaris”
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:5368 MB, 5368709120 字節(jié),10485760 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x3975c095
設(shè)備 Boot Start End Blocks Id System
/dev/sdb1 2048 8390655 4194304 82 Linux swap / Solaris
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@centos7-171 ~]#
3.格式化分區(qū)
創(chuàng)建分區(qū)后,需要將其格式化為交換分區(qū)格式,使用mkswap命令。
[root@centos7-171 ~]# mkswap /dev/sdb1 正在設(shè)置交換空間版本 1,大小 = 4194300 KiB 無(wú)標(biāo)簽,UUID=89d90739-5def-44aa-9273-d3dea6310714 [root@centos7-171 ~]#
4.永久掛載(/etc/fstab)
blkid #查詢分區(qū)的UUID #將掛載內(nèi)容配置到/etc/fatab文件下,實(shí)現(xiàn)永久掛載 echo 'UUID=89d90739-5def-44aa-9273-d3dea6310714 swap swap defaults 0 0' >> /etc/fstab

5.啟用交換分區(qū)
使用swapon命令來啟用新創(chuàng)建的交換分區(qū)。
swapon -a //刷新swap分區(qū),測(cè)試 fstab 掛載是否正常 swapon -s //列出正在使用的Swap分區(qū)設(shè)備

方法二:使用文件創(chuàng)建內(nèi)存交換文件
dd if=/dev/zero of=/var/swapd bs=1G count=4 #創(chuàng)建交換文件 mkswap /var/swapd #格式化為交換空間 chmod 0644 /var/swapd #設(shè)置文件權(quán)限 echo '/var/swapd swap swap default 0 0' >> /etc/fstab #配置永久掛載 swapon -a #刷新swap分區(qū),測(cè)試 fstab 掛載是否正常
dd命令的用法:
dd if=/dev/zero of=/var/swapd bs=1G count=4
- if 是input file的意思(輸入文件),/dev/zero是一直輸入0的設(shè)備
- of 是output file的意思(輸出文件),一般指定到目標(biāo)文件
- bs 是每個(gè)block 的大小,就像文件系統(tǒng)那樣的block意義
- count 則是總共幾個(gè)bs的意思,故bs*count就是文件容量
- of 的目標(biāo)文件不需要提前touch創(chuàng)建,如果文件不存在會(huì)自動(dòng)創(chuàng)建
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Apache?高級(jí)配置實(shí)戰(zhàn)之從連接保持到日志分析的完整指南
本文帶你從連接保持優(yōu)化開始,一路走到訪問控制和日志管理,最后用 AWStats 來分析網(wǎng)站數(shù)據(jù),對(duì)Apache配置日志分析相關(guān)知識(shí)感興趣的朋友一起看看吧2025-05-05
在Linux中列出Systemd下所有正在運(yùn)行的服務(wù)的方法指南
Systemd是Linux的系統(tǒng)和服務(wù)管理器; init進(jìn)程的替代品,與SysV 和LSB init腳本兼容,systemctl命令是管理systemd的主要工具,在這篇文章中,我們將演示如何 Linux中列出systemd下所有正在運(yùn)行的服務(wù),感興趣的同學(xué)可以借鑒閱讀2023-06-06
linux下system函數(shù)的簡(jiǎn)單分析
這篇文章主要簡(jiǎn)單分析了linux下system函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Linux調(diào)整系統(tǒng)最大文件打開數(shù)限制的實(shí)戰(zhàn)指南
在現(xiàn)代高并發(fā)服務(wù)架構(gòu)中,Linux系統(tǒng)的文件描述符(File Descriptor)管理能力直接決定了應(yīng)用的穩(wěn)定性和吞吐量,本文將帶你深入理解Linux文件描述符機(jī)制,手把手教你如何正確調(diào)整系統(tǒng)最大文件打開數(shù)限制,并結(jié)合真實(shí)Java代碼示例,讓你的應(yīng)用穩(wěn)如泰山2026-04-04
Linux系統(tǒng)開機(jī)無(wú)限重啟的解決方案
這篇文章主要介紹了Linux系統(tǒng)開機(jī)無(wú)限重啟的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
阿里云Linux主機(jī)安裝WDCP管理面板(包含lamp+lnmp+lanmp環(huán)境)
這篇文章主要介紹了阿里云Linux主機(jī)安裝WDCP管理面板(包含lamp+lnmp+lanmp環(huán)境),需要的朋友可以參考下2017-08-08

