内存交换空间swap
- 1.swap的作用
- 2.使用实体分区创建swap
- 3.使用文件创建swap
1.swap的作用
如果突然间某支程序用掉你大部分的内存, 那你的系统恐怕有损毁的情况发生喔! 所以, 早期在安装 Linux 之前, 大家常常会告诉你: 安装时一定需要的两个 partition , 一个是根目录, 另外一个就是 swap( 内存交换空间) 。
当内存不足的时候, 为了让后续的程序可以顺利的运行, 因此在内存中暂不使用的程序与数据就会被挪到 swap 中了。 此时内存就会空出来给需要执行的程序载入。 由于 swap 是用磁盘来暂时放置内存中的信息, 所以用到 swap 时,你的主机磁盘灯就会开始闪个不停啊。
所以swap作用就是:所以swap作用就是:Swap(交换分区)是一种用于虚拟内存管理的机制,其主要作用是在物理内存(RAM)不足时,将一些数据暂时存储到硬盘的交换分区或交换文件中,帮助系统维持正常运行。
2.使用实体分区创建swap
①分区
[root@CentOS7 ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10Partition table scan:MBR: protectiveBSD: not presentAPM: not presentGPT: presentFound valid GPT with protective MBR; using GPT.Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 14667709 sectors (7.0 GiB)Number Start (sector) End (sector) Size Code Name1 2048 6143 2.0 MiB EF02 2 6144 2103295 1024.0 MiB 0700 3 2103296 65026047 30.0 GiB 8E00 4 65026048 67123199 1024.0 MiB 8300 Linux filesystem5 67123200 69220351 1024.0 MiB 0700 Microsoft basic dataCommand (? for help): n
Partition number (6-128, default 6):
First sector (34-83886046, default = 69220352) or {+-}size{KMGTP}:
Last sector (69220352-83886046, default = 83886046) or {+-}size{KMGTP}: +512M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 13619133 sectors (6.5 GiB)Number Start (sector) End (sector) Size Code Name1 2048 6143 2.0 MiB EF02 2 6144 2103295 1024.0 MiB 0700 3 2103296 65026047 30.0 GiB 8E00 4 65026048 67123199 1024.0 MiB 8300 Linux filesystem5 67123200 69220351 1024.0 MiB 0700 Microsoft basic data6 69220352 70268927 512.0 MiB 8200 Linux swapCommand (? for help): w
②格式化并启动
[root@CentOS7 ~]# mkswap /dev/sda6
正在设置交换空间版本 1,大小 = 511996 KiB
无标签,UUID=8f378295-b670-4e63-a852-1fdc66426490
[root@CentOS7 ~]# blkid /dev/sda6
/dev/sda6: UUID="8f378295-b670-4e63-a852-1fdc66426490" TYPE="swap"
[root@CentOS7 ~]# free -htotal used free shared buff/cache available
Mem: 972M 516M 132M 27M 323M 286M
Swap: 1.0G 318M 705M
[root@CentOS7 ~]# swapon /dev/sda6
[root@CentOS7 ~]# free -htotal used free shared buff/cache available
Mem: 972M 516M 131M 27M 324M 286M
Swap: 1.5G 318M 1.2G
[root@CentOS7 ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 1048572 326144 -2
/dev/sda6 partition 511996 0 -3
可以看到启动swap后,swap的total增加了0.5G。swapon -s
用于列出目前使用的 swap 设备有哪些。
3.使用文件创建swap
① dd if=/dev/zero of=/tmp/swap bs=1M count=128
② mkswap /tmp/swap
③ swapon /tmp/swap
④ swapoff /tmp/swap /dev/vda6
⑤ nano /etc/fstab
⑥ swapon -a
⑦ swapon -s