ECS Linux开启swap(虚拟内存)

  1. 云栖社区>
  2. 博客>
  3. 正文

ECS Linux开启swap(虚拟内存)

科技探索者 2017-11-22 11:13:00 浏览2660
展开阅读全文

由于开启swap分区会导致硬盘IO性能下降,因此阿里云服务器初始状态未配置swap,如果某些应用需要开启swap分区,可以采用如下方法增加:

1、创建用于交换分区的文件:

#dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block  

注:block_size、number_of_block 大小可以自定义,比如bs=1M count=1024 代表设置1G大小swap分区,count=n 是仅仅处理n块数据后就不再工作了

dd if=/dev/zero of=/mnt/swap bs=1024 count=1038336(这里以1GB为例)

2、设置交换分区文件:

#mkswap /mnt/swap

3、激活swap文件:

#swapon /mnt/swap

如果在/etc/rc.local中有swapoff -a 需要修改为swapon -a 或者直接删除。

4、查看一下swap是否正确:

/sbin/swapon -s
5、设置开机时自启用swap分区:

需要修改文件/etc/fstab中的swap行。

添加 /mnt/swap swap swap defaults 0 0

也可以执行如下命令,感觉这样更方便 :echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab

注:/mnt/swap 路径可以修改,可以根据创建的swap文件具体路径来配置。

6、设置后可以执行free -m命令查看效果。


顺便附上DD命令的参数介绍:

dd命令
功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。

语法:dd [选项]
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)
cbs = byte 一次转换bytes字节。
count=blocks 只拷贝输入的blocks块。

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1754579如需转载请自行联系原作者


qianghong000

网友评论

登录后评论
0/500
评论
科技探索者
+ 关注