Linux swap分区操作
swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据时,会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。
swap 模拟内存
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 977M 328M 109M 7.5M 539M 411M
Swap: 2.0G 0B 2.0G
案例1:增加linux系统可用的swap空间
[root@localhost ~]# mkswap /dev/sdc3 将/dev/sdc3的文件系统设为swap
mkswap: /dev/sdc3: warning: wiping old ext4 signature.
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=fd15d73b-b842-4c9b-9c3e-15c22548ef47
[root@localhost ~]# blkid /dev/sdc3 查看swap分区的uuid
/dev/sdc3: UUID="fd15d73b-b842-4c9b-9c3e-15c22548ef47" TYPE="swap" PARTUUID="1c175a58-1f6c-4456-aee7-378142e83b6f"
#vim /etc/fstab
UUID=fd15d73b-b842-4c9b-9c3e-15c22548ef47 swap swap defaults 0 0
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 977M 328M 109M 7.5M 539M 411M
Swap: 2.0G 0B 2.0G
[root@localhost ~]# swapon -a 将/etc/fstab文件中所有设置为swap的设备,启动为交换区;
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 977M 330M 108M 7.5M 539M 409M
Swap: 4.0G 0B 4.0G
注:可以看到swap分区的大小发生了变化
[root@localhost ~]# swapon -s -s:显示交换区的使用状况;
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 0 -1
/dev/sdc3 partition 2097148 0 -2
[root@localhost ~]# dd if=/dev/zero of=/dev/null count=1 bs=4G 模拟内存占用,使其使用swap
0+1 records in
0+1 records out
2147479552 bytes (2.1 GB) copied, 2.86847 s, 749 MB/s
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 977M 78M 827M 272K 71M 790M
Swap: 4.0G 186M 3.8G
注:可以看到swap分区发生了变化,使用了186M
可以通过修改优先级,来选择优先使用哪一块设备的swap
vim /etc/fstab
UUID=fd15d73b-b842-4c9b-9c3e-15c22548ef47 swap swap pri=100 0 0
swapoff /dev/sdc3 先禁用swap
swapon -a 再启用
案例2:禁用swap
vim /etc/fstab 将文件里的swap全部注释掉
swapoff -a 禁用全部swap
swapon -s 查看swap
案例3:使用一个文件来充当swap
#dd if=/dev/zero of=/swapfile bs=1M count=2048
#ll -h /swapfile
#chmod a= /swapfile 修改权限
#mkswap /swapfile
#blkid /swapfile
#vim /etc/fstab
/swapfile none swap defaults 0 0
#swapon -a
案例4:迁移文件swap
#swapoff -a 先禁用
#mv /swapfile /test/
#vim /etc/fstab
/test/swapfile none swap defaults 0 0
#swapon -a