Linux 配置虚拟内存( swap 交换区 )

free -m 查看内存使用情况(单位MB

free -h 查看内存使用情况(单位GB

一,创建或添加swap分区 (通过文件增加)

切换的指定目录 

cd /

编辑创建 add_free_swap.sh 脚本文件

vi add_free_swap.sh

#!/bin/bash
# https://blog.youkuaiyun.com/qq_41054313
# 定义默认值:虚拟内存大小的blocks(多少个块), bs块大小(后面设置单位1MB) 总:4096*1MB=4GB
memorySize=4096

# 有传参数,且参数大于0,使用参数
if [ $# -gt 0 ]
then
	memorySize=$1
fi

echo "配置前,查看内存使用情况:free -m,swap:虚拟内存,交换区" 
free -m

# ------开始 创建虚拟内存 空间----------------------------------


# mkdir -p 递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
mkdir -p /usr/swap

# 切换到创建空间文件的目录
cd /usr/swap

# 定义新建文件变量名称
swapfilename=swapfile_${memorySize}MB_$(date +%Y%m%d%H%M )

# 打印输出 空间文件的目录
echo "创建空间文件的目录: /usr/swap/${swapfilename}" 

# 第一步:创建一个指定大小的的文件
# dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
# 用到的参数如下:
# if=文件名:输入文件名,默认为标准输入。即指定源文件。
# of=文件名:输出文件名,默认为标准输出。即指定目的文件。
# bs=bytes:同时设置读入/输出的块大小为bytes个字节,建议设置 bs=1M 。
# count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
# 最终的大小=bs(块大小)* blocks(多少个块)
dd if=/dev/zero of=/usr/swap/${swapfilename} bs=1M count=$memorySize

du -sh /usr/swap/${swapfilename}

#第二步:把这个目标文件设置为swap分区文件:
mkswap /usr/swap/${swapfilename}

chmod 0600 /usr/swap/${swapfilename}

#第三步:激活swap区,并立即启用这个swap文件
swapon /usr/swap/${swapfilename}

#第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件(设置开机启用)
echo "/usr/swap/${swapfilename} swap swap defaults 0 0" >> /etc/fstab

# ------ 结束 创建虚拟内存 空间-----------------------

echo "配置后,再次查看内存使用情况:free -m,swap:虚拟内存,交换区" 
free -m
 
echo "cat /etc/fstab 查看/etc/fstab文件 的配置" 
cat /etc/fstab

执行脚本  (传参数2048,  代表2048个1MB的块,2GB, 不传参默认4096

sh ./add_free_swap.sh  "2048"

二.删除swap分区

查看当前swap 的使用文件,等价于“cat /proc/swaps “

swapon -s

1.关闭指定swap分区文件 :swapoff 目录/文件;(关闭所有的swap :swapoff -a)

swapoff /usr/swap/${swapfilename}

 2.删除swap分区文件

 rm -rf /usr/swap/${swapfilename}

 3. 删掉对应的swapoff 目录/文件配置: vi /etc/fstab

 编写内容参考的文章:

Linux 配置虚拟内存-优快云博客

Linux设置Swap虚拟内存方法_linux设置虚拟内存-优快云博客

Linux 虚拟内存参数配置_linux 配置虚拟内存-优快云博客(使用硬盘做swap分区)

Linux SWAP 交换分区配置说明_swapon -s closed-优快云博客(使用硬盘做swap分区)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值