Linux系统用交换文件创建swap交换空间

利用dd 来创建一个2G的文件/tmp/newdisk出来,其中if(if 表示 infile)代表从哪个文件读,/dev/zero是linux下特有的一个0生成器,of(of 表示outfile)表示输出到哪个文件,bs即写入的每个块的大小,count则定义有多少个块。

a.创建交换文件
fallocate -l 4G /swapfile        #可能会失败,如果失败就换一个命令
报错是:fallocate: /swapfile: fallocate failed: Operation not supported
或
truncate -s 4G /swapfile
可能会报错:swapon: /swapfile: skipping - it appears to have holes
也可能在swapon的时候报这个错,那就再换下面的方法创建交换文件
或
dd if=/dev/zero of=/swapfile bs=1M count=4096
注意: dd命令直接在根目录生成swapfile文件。这种方法最稳定,几乎不会出错。但是注意if of千万别写反,不然整个磁盘数据都可能被清空。
b.设置可访问权限 
chmod 600 /swapfile
c.格式化为交换分区
mkswap /swapfile
d.激活启用swap空间 
swapon /swapfile
f.开机自动启用swap空间 
编辑/etc/fstab,添加下面这一句  最好是用UUID而不是/swapfile 查看swapfile分区的UUID方法:
root@localhost:~# blkid /swapfile
/swapfile: UUID="c944f7aa-0bcb-4526-9bff-d6d819b3fe9c" TYPE="swap"
g:用echo方式添加:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
注意1:用文件创建的swapfile 只有free -m才能看到  df -Th看不到的。只有用分区制作swap才能df -Th看到
如果free -m显示出来如下,则证明已经成功了
              total        used        free      shared  buff/cache   available
Mem:           3951         138         864           2        2948        3520
Swap:          4095           0        4095

注意2: 
设置开机启动挂载的时候,如果是centos系统,则fstab中应该使用default,改为:
echo '/swapfile none swap defaults 0 0' >> /etc/fstab

如果是ubuntu16.04系统,则fstab中应该使用sw,改为:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
删除swap交换分区

先停止正在使用的swap分区:
swapoff /swapfile
删除swap分区文件:
rm -f /swapfile
删除或注释在/etc/fstab文件中的以下开机自动挂载内容:
/swapfile none swap defaults 0 0

版权声明:
作者:allenjol
链接:https://www.ayunw.cn/archives/213
来源:爱生活,爱运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>