浅谈swap的分区特性以及扩建

浅谈swap的分区特性以及扩建


  swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。当没有足够的RAM 保存系统处理的数据时会将数据写入 swap 分区
  当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。配置过多swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存泄露.

  • 推荐系统 swap 分区容量
    在这里插入图片描述

示例如下:

  • 创建交换分区或者文件
lsblk       #查看硬盘分区情况
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0          11:0    1  6.7G  0 rom  
nvme0n1     259:0    0  200G  0 disk 
├─nvme0n1p1 259:1    0    1G  0 part /boot
├─nvme0n1p2 259:2    0  100G  0 part /data
├─nvme0n1p3 259:3    0   50G  0 part /
├─nvme0n1p4 259:4    0    1K  0 part 
└─nvme0n1p5 259:5    0    2G  0 part [SWAP]
dd if=/dev/zero of=/data/swap1.img bs=2G count=1  #在/data 目录上做一个2G的空间出来
records in
records out
2147479552 bytes (2.1 GB, 2.0 GiB) copied, 60.0621 s, 35.8 MB/s
mkswap /data/swap1.img    #使用mkswap写入特殊签名
mkswap: /data/swap1.img: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 2 GiB (2147475456 bytes)
no label, UUID=b251c778-e3b5-496a-84e7-5de95a6afac6
blkid /data/swap1.img     #查看是否成功
/data/swap1.img: UUID="b251c778-e3b5-496a-84e7-5de95a6afac6" TYPE="swap"
  • 此处用到一个命令 dd ,详细参数如下:
     语法:dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#

    if=file 从所命名文件读取而不是从标准输入
    of=file 写到所命名的文件而不是到标准输出
    ibs=size 一次读size个byte
    obs=size 一次写size个byte
    bs=size block size, 指定块大小(既是是ibs也是obs)
    cbs=size 一次转化size个byte
    skip=blocks 从开头忽略blocks个ibs大小的块
    seek=blocks 从开头忽略blocks个obs大小的块
    count=n 复制n个bs

  • 设置开机自启动挂载配置
vim /etc/fstab
UUID=65bdf300-b361-40c7-aa7a-53087bc78a2a /                       xfs     defaults        0 0
UUID=8bc9beb6-f5f8-49b9-8eec-fcfcbb5c161d /boot                   ext4    defaults        1 2
UUID=59a4110a-f477-49e0-9be8-533d8bf8328d /data                   xfs     defaults        0 0
UUID=1a693b1a-93f7-4b41-905b-dbf4357db1ca swap                    swap    defaults        0 0
/data/swap1.img    swap                                           swap    defaults        0 0  
#注意此处做的swap分区是文件,它不是硬件,绝对不能用UUID来挂载,因为文件的UUID太庞大了,系统压根没法去找,硬件设备很少就那几个,所以可以用UUID

注意swap这个分区必须要挂载到/etc/fstab 文件中,才可以用命令激活分区,否则没反应

  • 激活swap 分区
swapon -a                     
swapon: /data/swap1.img: insecure permissions 0644, 0600 suggested.
# 此处出错,提示建议给文件权限600
chomd 600 /data/swap1.img
free -h
              total        used        free      shared  buff/cache   available
Mem:          1.8Gi       411Mi       1.2Gi       1.0Mi       156Mi       1.2Gi
Swap:         4.0Gi       288Mi       3.7Gi

swapon -v
NAME            TYPE      SIZE   USED PRIO
/dev/nvme0n1p5  partition   2G 288.3M   -2
/data/swap1.img file        2G     0B   -3  此处就是我们建立新的swap分区,因为它是文件系统。
  • swap 的优先级调整
swapoff  /data/swap1.img      #先关闭要调整的swap分区
swapon -v
NAME           TYPE      SIZE   USED PRIO
/dev/nvme0n1p5 partition   2G 287.9M   -2
swapon -p 20 /data/swap1.img    #这个优先级是0-99999 数字越大优先级越高
  • swap 分区的卸载
swapoff /data/swap1.img
swapon -s
Filename				Type		Size	Used	Priority
/dev/nvme0n1p5                         	partition	2097148	294752	-2
[root@Centos8 /data]#free -h
              total        used        free      shared  buff/cache   available
Mem:          1.8Gi       409Mi       1.2Gi       1.0Mi       156Mi       1.2Gi
Swap:         2.0Gi       287Mi       1.7Gi

结 束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值