提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
一、内存交换分区
内存比较少的情况下,数据可以从内存中拿到硬盘的交换分区临时存放,那是不是内存大的情况下就用不到交换分区呢?当然不是,谁都不知道服务器下一秒的网络请求,最好还是预留内存交换分区,有备无患。
二、物理分区创建交换分区
交换分区的创建其实很简单,先创建分区,然后格式化,最后启动。
1.创建分区
创建分区已经非常的熟悉了,那我们就创建一个,直接创建swap标识符的分区
[root@localhost user]# gdisk /dev/sdb ==>分区
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +2G ==>创建2G的分区
Current type is 'Linux filesystem'
以上很熟悉,不必多在意。就是我们创建swap分区,所以接下来:
Hex code or GUID (L to show codes, Enter = 8300): L
0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE
3000 ONIE boot 3001 ONIE config 4100 PowerPC PReP boot
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8300 Linux filesystem 8301 Linux reserved
8302 Linux /home 8400 Intel Rapid Start 8e00 Linux LVM
a500 FreeBSD disklabel a501 FreeBSD boot a502 FreeBSD swap
a503 FreeBSD UFS a504 FreeBSD ZFS a505 FreeBSD Vinum/RAID
-------------------------------此处省略n字-------------------------------------
我们看到 Linux swap —>8200,所以我们输入8200,创建Linux swap分区
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'
Command (? for help): p
Disk /dev/sdb: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): ED88F846-BE71-46CD-900A-7DCB828BCDB9
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 37748669 sectors (18.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4196351 2.0 GiB 8200 Linux swap ==>OK
2.swap格式化
[root@localhost user]# mkswap /dev/sdb1 ==>mkswap格式化
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=46fd6624-904d-44dd-937f-cb4139b8b029
[root@localhost user]# blkid /dev/sdb1 ==>查看格式化结果
/dev/sdb1: UUID="46fd6624-904d-44dd-937f-cb4139b8b029" TYPE="swap" PARTLABEL="Linux swap" PARTUUID="4d2e83b0-c14a-4522-90df-f8d4aca8bad7"
3.加载分区
加载前看一下内存情况
[root@localhost user]# free
total used free shared buff/cache available
Mem: 995892 611792 83084 15448 301016 165364
Swap: 2097148 6144 2091004
Mem是物理内存,swap是交换分区
[root@localhost user]# swapon /dev/sdb1 ==>加载
[root@localhost user]# free
total used free shared buff/cache available
Mem: 995892 613328 81468 15448 301096 163828
Swap: 4194296 6144 4188152 ==>swap交换分区的内存大小由2G变4G
#原本的2通过lsblk可以看到,是centos-swap的2G
修改一下配置文件,实现永久创建
[root@localhost user]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Sat Sep 21 02:27:42 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=fe53f223-8a0c-4832-985d-c01448670464 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
UUID=46fd6624-904d-44dd-937f-cb4139b8b029 swap swap default 0 0 ==>通过UUID写入
~
~
[root@localhost user]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 2G 0 part [SWAP] ==>[swap]看到了吧,成功了
sr0 11:0 1 4.3G 0 rom /run/media/user/CentOS 7 x86_64
三.文件创建交换分区
[root@localhost user]# dd if=/dev/zero of=/tmp/swap bs=1M count=128 ==>创建文件
记录了128+0 的读入
记录了128+0 的写出
134217728字节(134 MB)已复制,1.6773 秒,80.0 MB/秒
[root@localhost user]# ll -h /tmp/swap
-rw-r--r--. 1 root root 128M 9月 22 02:21 /tmp/swap ==>文件创建成功
[root@localhost user]# mkswap /tmp/swap ==>格式化
正在设置交换空间版本 1,大小 = 131068 KiB
无标签,UUID=09a668bd-73b5-4c5d-8856-40fd6837115d
[root@localhost user]# swapon /tmp/swap ==>加载
swapon: /tmp/swap:不安全的权限 0644,建议使用 0600。
[root@localhost user]# swapon -s ==>查看交换分区
文件名 类型 大小 已用 权限
/dev/dm-1 partition 2097148 7944 -2
/dev/sdb1 partition 2097148 0 -3
/tmp/swap file 131068 0 -4 ==>创建成功
[root@localhost user]# free ==>查看内存
total used free shared buff/cache available
Mem: 995892 609432 70540 19592 315920 162408
Swap: 4325364 7944 4317420
总结
交换分区命令还是相对简单于文件系统的不同步骤,在于文件系统是挂载,交换分区是挂载。