linux交换分区管理
linux/storage
环境:
vmware workstation 15
redhat 7.6
作用:
类似于windows的虚拟内存,当系统内存不够时,拿出一部分的硬盘空间来当内存使用,从而解决内存不足的情况,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的
制作交换分区的方法
方法一:
用空文件来做交换分区
1.查看现在交换分区大小
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 508M 879M 10M 431M 1.1G
Swap: 2.0G 0B 2.0G
2. 创建一个空文件,做交换分区要用的
[root@localhost ~]# dd if=/dev/zero of=/tmp/swap.file bs=1G count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 13.1283 s, 81.8 MB/s
3. 建立swap的文件系统
[root@localhost ~]# mkswap /tmp/swap.file
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=72a276cb-280f-4af8-9702-e728ab16ab65
4.启用swap文件
[root@localhost ~]# swapon /tmp/swap.file
swapon: /tmp/swap.file: insecure permissions 0644, 0600 suggested.
5.挂载
[root@localhost ~]# vim /etc/fstab
添加一行内容:
/tmp/swap.file swap swap defaults 0 0
退出保存
6.查看
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 503M 1.0G 10M 250M 1.1G
Swap: 3.0G 264K 3.0G
结论:可以看到交换分区多了1G,扩展分区成功,如果不需要,卸载即可
方法二:
用分区来做交换分区
1.查看已知交换分区大小
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 502M 1.0G 10M 264M 1.1G
Swap: 3.0G 264K 3.0G
2.创建一个分区来做交换分区
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n 这里输入n新建分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p 这里输入p新建主分区,输入e新建逻辑分区
Partition number (2-4, default 2): 这里是分区编号,默认即可
First sector (4196352-41943039, default 4196352): 起始扇区,如果没有特殊要求,默认即可
Using default value 4196352
Last sector, +sectors or +size{K,M,G} (4196352-41943039, default 41943039): 结束扇区,一般+{K,M,G}
Partition 2 of type Linux and of size 2 GiB is set 我们这里分2G
Command (m for help): w 按w保存
[root@localhost ~]# lsblk 可以看到我们新创建的分区已经成功了,如果没有看到,用partparobe更新分区表
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─rhel-root 253:0 0 37G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part /mnt/sdb
└─sdb2 8:18 0 2G 0 part
sr0 11:0 1 1024M 0 rom
3.建立swap文件系统
[root@localhost ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=5ee02ff1-b01b-4560-9544-b44bc1f620d9
4.激活swap功能
[root@localhost ~]# swapon /dev/sdb2
5.挂载
[root@localhost ~]# vim /etc/fstab
添加一行内容:
/dev/sdb2 swap swap defaults 0 0
按w保存退出
[root@localhost ~]# lsblk 可以查看分区sdb2挂载的位置
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─rhel-root 253:0 0 37G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part /mnt/sdb
└─sdb2 8:18 0 2G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom
6.查看
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 504M 990M 10M 323M 1.1G
Swap: 5.0G 264K 5.0G
这里可以看到交换分区扩展成功
总结:
1.交换分区的步骤有三步,建立文件系统——>激活交换分区功能——>挂载使用
2.使用的命令有:
lsblk: 查看挂载表
free -h : 查看交换分区大小
mkswap : 建立交换分区的文件格式
swapon : 激活交换分区功能
swapon -s : 查看交换分区详细信息