内存交换分区的小白理解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


一、内存交换分区

内存比较少的情况下,数据可以从内存中拿到硬盘的交换分区临时存放,那是不是内存大的情况下就用不到交换分区呢?当然不是,谁都不知道服务器下一秒的网络请求,最好还是预留内存交换分区,有备无患。

二、物理分区创建交换分区

交换分区的创建其实很简单,先创建分区,然后格式化,最后启动。

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 922 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

总结

交换分区命令还是相对简单于文件系统的不同步骤,在于文件系统是挂载,交换分区是挂载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值