https://blog.argcv.com/articles/3248.c

linux下至少有两种方法可以配置系统的swap.一种是直接格式化一个分区,用这个分区作为swap区.另一种是创建一个文件,swap的内容都丢到文件里面去.

直接格式化的写分区这种操作一般在装机的时候系统安装引导程序就帮忙做了,我只在装arch的时候被教育了下. 大致方法是分区,对这个分区mkswap,然后将这个分区的位置写到/etc/fstab中. 内容类似下面这样.

/etc/fstab

1
/dev/mapper/sae-swap    swap  swap    defaults   0 0

它会在启动的时候自动挂载本分区到swap,不用操心任何事情. 对于比较稳定的,长期使用的swap设置而言,这应当是最好的选择.

但有时候需求有点复杂,比如远程的时候腾出个分区格式化然后挂载虽然不困难,但若有更简单的方法,那个人还是倾向于用简单的.

linux支持使用文件作为swap,然后在线启用或者取消swap.流程很简单.进入root后几步操作就可以搞定.

首先你需要准备一个你想要的大小的文件.比如512MB(也就是1024 * 512MB = 524288 k)

1
# dd if=/dev/zero of=/swapfile1 bs=1024 count=524288

上面这条命令会在/swapfile1这个文件中写上512MB大小的0.它有个很严重的问题--效率. 若我只是开上上面命令的512MB的话,速度还是可以忍受的,但某次我要开上700G的文件,等得花儿都谢了. 我们的目标就是开个足够大的文件而已,另一个可用的命令是fallocate. 命令如下:

1
# fallocate -l 700G /swapfile1

虽然仍然需要等几秒,但速度还是非常快的.

此时文件的读写还是比较开放的,但这样就不安全了.设置文件权限如下:

1
2
# chown root:root /swapfile1
# chmod 0600 /swapfile1

然后,你需要对这个文件格式化一下.命令如下:

1
# mkswap /swapfile1

这样swapfile1就是swap可以接受的格式了.

最后,启用swap.

1
# swapon /swapfile1

这样我们就很容易的得到了一些新的swap空间.

如果我们需要让它每次开机自动挂载swap的话,我们需要编辑/etc/fstab,添加一行内容如下:

1
/swapfile1 none swap sw 0 0

如果我们不想要这个swap,解除也很容易

1
# swapoff /swapfile1

然后我们就可以安全的删除/swapfile1这个文件了.

References:

  • http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/
  • http://stackoverflow.com/questions/257844/quickly-create-a-large-file-on-a-linux-system

linux下使用swapfile的更多相关文章

  1. Linux 下的dd命令使用详解(摘录)

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  2. linux下Oracle11g RAC搭建(六)

    linux下Oracle11g RAC搭建(六) 五.校验安装前的环境 root身份下完毕解压grid.database安装包 [grid@node1 soft]$ su - Password: [r ...

  3. (转)Linux下增加交换分区的大小

    场景:最近在Linux环境安装ELK相关软件时候发现机器特别的卡,所以就查看了Linux机器的内存使用情况,发现是内存和交换分区空间太小了. 对于虚拟机中的内存问题,可以直接通过更改虚拟机的硬件进行解 ...

  4. Linux 下的dd命令使用详解(摘录)【转】

    转自:https://www.cnblogs.com/jikexianfeng/p/6103500.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意 ...

  5. linux下安装Oracle时交换空间不足的解决方法

    摘:linux下安装Oracle时交换空间不足的解决方法 linux上安装Oracle时交换空间不足的解决办法 增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap,那就是本 ...

  6. linux下磁盘相关工具(待整理)

    一.概述: fsck tune2fs mke2fs badblocks mkfs* fdisk mount umount mknod e2label blkid hdparm mkswap swapo ...

  7. Linux下分割、合并文件——dd和cat

    功能说明:读取,转换并输出数据. 语 法:dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=& ...

  8. Linux 下的dd命令使用详解

    转自:https://www.cnblogs.com/jikexianfeng/p/6103500.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意 ...

  9. (转) Linux 下的dd命令使用详解(摘录)

    使用dd命令克隆整个系统------http://www.cnblogs.com/jikexianfeng/p/6103504.html 原文:https://www.cnblogs.com/jike ...

随机推荐

  1. MongoDB3.2.8创建初始用户

    启动MongoDB前需要关闭配置文件中的auth选项,否则不能创建用户 首先创建用户管理用户 use admin db.createUser({user:'admin',pwd:'123456', r ...

  2. 【转】 Pro Android学习笔记(六一):Preferences(5):组织Preference

    目录(?)[-] PreferenceCategory Child Preference PreferenceCategory 如果有多个preference,我们希望能在他们组织在一起.有两种方式, ...

  3. C#图片压缩类winform

    using System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Dr ...

  4. Ajax前端调后台方法

    后台对当前页面类进行注册 Ajax.Utility.RegisterTypeForAjax(typeof(Login));//Login 当前类名 在方法上面加 [Ajax.AjaxMethod(Aj ...

  5. ABCD四个人说真话的概率都是1/3。假如A声称B否认C说D是说谎了,那么D说过的那句话真话的概率是多少

    ABCD四个人说真话的概率都是1/3.假如A声称B否认C说D是说谎了,那么D说过的那句话 真话的概率是多少 记"A声称B否认C说D说谎"为X,那么由贝叶斯公式,所求的 P(D真)P ...

  6. hive一些思考

    Hive查询 1.hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.其优点是学习 ...

  7. CentOS7 搭建LNMP

    一.        安装依赖文件 1.  sudo yum install gcc gcc-c++ zlib zlib-devel libxml2 libxml2-devel openssl open ...

  8. ADT-23.0.2百度网盘下载地址

    最近 Google 被墙 http://download.csdn.net/download/wentai2009/7736389

  9. enter键触发事件的清除

    使用iframe弹窗时 父级页面 初始化的时候 给enter键绑定了事件 在子页面中 按下enter键会触发 而报错,此时在本页面的初始化的时候 将enter键绑定的方法取消 即可: $(docume ...

  10. Codeforces - 1181B - Split a Number - 贪心

    https://codeforces.com/contest/1181/problem/B 从中间拆开然后用大数搞一波. 当时没想清楚奇偶是怎么弄,其实都可以,奇数长度字符串的中心就在len/2,偶数 ...