查看swap
free -m
查看swap的位置及uuid
blkid
查看swap路径及优先级
swapon -s
启用所有swap
swapon -a
禁用所有swap
swapoff -a
删除SWAP
1.停止swap分区
swapoff ”swap分区位置“
2.删除swap分区
rm -rf “swap分区位置“
3.在/etc/fstab中,删除或注释掉swap行
vi /etc/fstab
#/dev/mapper/centos-swap swap swap defaults 0 0
创建swap
1.使用dd命令创建swap交换文件
下例:创建swap分区/var/swapfile,容量为1M*4096=4096M=4G
#命令格式:dd if=/dev/zero of="swap文件" bs="块大小" count=”块数量“
dd if=/dev/zero of=/var/swapfile bs=1M count=4096
2.格式化swap分区
mkswap /var/swapfile
3.激活swap分区
swapon /var/swapfile
4.更改swap权限
chmod -R 0600 /var/swapfile
5.配置/etc/fstab,添加swap分区开机自动挂载
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
扩容swap
扩容其实就是创建一个新的swap分区并激活。
脚本实例:
以M为单位!推荐!
#!/bin/bash
#检测并设置swap
#如果swap不存在,则创建,SETSWAP为指定的swap大小值
#read键盘输入固定值
read -p "输入swap固定值(单位G):" GSETSWAP
#swap固定值,单位G
#GSETSWAP=8
################以下无需修改##################
echo "当前设置SWAP固定值为$GSETSWAP G"
#G转换为M
MSETSWAP=`echo "1024*$GSETSWAP"|bc`
#swap文件名
RANDOM=`date +%N`
SWAPFILE="/var/swapfile$RANDOM"
#获取swap
OLDSWAP=`free -m|awk '/Swap/ {print $2}'`
OLDSWAPG=`free -h|awk '/Swap/ {print $2}'`
###判断swap
#判断是否存在swap分区
if [ "$OLDSWAP" = "0B" ] ;then
#0B表示不存在swap,则创建swap
echo "正在创建swap,请等待 ……"
dd if=/dev/zero of=$SWAPFILE bs=1M count=$MSETSWAP > /dev/null 2>&1
else
#否则,扩容
#判断当前设置swap是否大于原有swap
if [ "$MSETSWAP" -gt "$OLDSWAP" ] ;then
ADDSWAP=`echo "$MSETSWAP-$OLDSWAP"|bc`
echo "正在创建swap,请等待 ……"
dd if=/dev/zero of=$SWAPFILE bs=1M count=$ADDSWAP > /dev/null 2>&1
else
echo "已存在SWAP: $OLDSWAPG"
echo "错误!设置的swap需大于已有swap,请确认!"
exit
fi
fi
#格式化swap
mkswap $SWAPFILE
#启动swap
swapon $SWAPFILE
#swap权限
chmod -R 0600 $SWAPFILE
#开机挂载swap
echo "$SWAPFILE swap swap defaults 0 0" >> /etc/fstab
echo
echo "----------------------当前交换分区----------------------"
swapon -s
echo "----------------------当前内存信息----------------------"
free -h
____________________________________________________________
以G为单位,会出现些许偏差,推荐上面的脚本
#!/bin/bash
#检测并设置swap
#如果swap不存在,则创建,SETSWAP为指定的swap大小值
SETSWAP=8
###################################
#swap文件名
RANDOM=`date +%N`
SWAPFILE="/var/swapfile$RANDOM"
#获取swap
OLDSWAP=`free -m|awk '/Swap/ {print $2}'`
#OLDSWAP转换单位为G,并取整数部分
OLDINTSWAP=`echo "$OLDSWAP"|awk '{printf "%.0f ", $OLDSWAP/1024}'`
###判断swap
#判断是否为空
if [ "$OLDINTSWAP" = "0B" ] ;then
#空则创建swap
echo "正在创建swap,请等待 ……"
dd if=/dev/zero of=$SWAPFILE bs=1G count=$SETSWAP
else
#不为空,则扩容
#判断当前设置swap是否大于原有swap
if [ "$SETSWAP" -gt "$OLDINTSWAP" ] ;then
ADDSWAP=`echo "$SETSWAP-$OLDINTSWAP"|bc`
echo "正在创建swap,请等待 ……"
dd if=/dev/zero of=$SWAPFILE bs=1G count=$ADDSWAP
else
echo "设置的swap比当前swap小,请确认"
exit
fi
fi
#格式化swap
mkswap $SWAPFILE
#启动swap
swapon $SWAPFILE
#swap权限
chmod -R 0600 $SWAPFILE
#开机挂载swap
echo "$SWAPFILE swap swap defaults 0 0" >> /etc/fstab
echo
echo "----------------------当前交换分区----------------------"
swapon -s
echo "----------------------当前内存信息----------------------"
free -h
发表评论