Linux下创建swap

Swap是Linux下的交换分区,类似Windows的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入Swap,解决物理内存不足的情况。

若系统安装时开辟的Swap空间太小,可通过手动创建Swap文件。

 

一、创建文件

1)mount -a

加载“/etc/fstab”中描述的所有文件系统。

2)dd if=/dev/zero of=kwxgd bs=1024 count=1024000

SSH执行以上命令,创建一个名为kwxgd的1G 空文件(写0占用磁盘)。

if=/dev/zero : Read from /dev/zero file. /dev/zero is a special file in that provides as many null characters to build storage file called kwxgd.

of=kwxgd : Read from /dev/zero write storage file to kwxgd.

bs=1024 : Read and write 1024 BYTES bytes at a time.

count=1024000 : Copy only 1024000 BLOCKS input blocks.

 

二、制作为Swap文件

chown root:root kwxgd

chmod 600 kwxgd

修改kwxgd的权限,只有root可以读写

mkswap kwxgd

SSH执行以上命令,将生成的kwxgd制作为SWAP文件,若没有制作SWAP文件,执行下一步可能会出现:“swapon: kwxgd: read swap header failed: Invalid argument”错误。

 

三、让Swap文件生效

swapon kwxgd

SSH执行以上命令,使“kwxgd”这个Swap文件生效,并叠加进当前sawp空间中。

 

四、查看当前SWAP

swapon -s

SSH执行以上命令,查看当前swap的情况。

 

设置vm.swappiness

echo "vm.swappiness = 36" >> /etc/sysctl.conf

先清空swap,执行

sysctl -p

表示系统进行交换行为的程度,数值(0-100)越大,越可能发生磁盘交换(默认为60,越大表示越倾向于使用swap)

 

五、自动挂载

1)编辑/etc/fstab

vi /etc/fstab

2)按格式填入,并保存

/root/kwxgd swap swap defaults 0 1

六、清除创建的swap

1) swapoff -v kwxgd

关闭创建的swap分区

2) 删除 /etc/fstab开机挂载对应配置

vi /etc/fstab

删除

/root/kwxgd swap swap defaults 0 1

保存

3)mount -a

重加载“/etc/fstab”中描述的所有文件系统。

4)rm kwxgd

删除创建的swap文件

 

关注

建立“swap”分区,swap分区是通过文件系统类型这一项选择出来的,大小设定为物理内存的2倍,生产环境中一般的服务器内存都很大,动辄就是几十GB,几百GB,如果按照2倍的物理内存来分配,那岂不是很大,很恐怖,所以这里有一个规则:

①内存大小在8GB以下,按照2倍的内存大小进行分配swap分区容量

②内存大小在8GB以上,swap分区容量统一为16GB

 

cat create_swap.sh

#!/bin/bash
#create swap
#相应目录创建文件
mkdir -p /usr/local/swap
cd /usr/local/swap
dd if=/dev/zero of=swap1 bs=1024 count=1024000

#生成swap文件
mkswap swap1

#使swap文件生效
swapon swap1

#开机自动加载
echo "/usr/local/swap/swap1 swap swap defaults 0 1" >> /etc/fstab

#查看当前swap信息
swapon -s

 

转载于:https://my.oschina.net/HeAlvin/blog/2050948

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值