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设置Swap虚拟内存方法_linux设置虚拟内存-优快云博客
Linux 虚拟内存参数配置_linux 配置虚拟内存-优快云博客(使用硬盘做swap分区)
Linux SWAP 交换分区配置说明_swapon -s closed-优快云博客(使用硬盘做swap分区)