使用swapfile来替代swap分区(文章无深度)

现在有时候帮人装系统,如果是新机的话,我一般都只分两个区,一个C:,作系统,一个D:,作存储,对于一般用户来说,存在不同的分区,和存在不同的文件夹,意义是差不多的,好处是,不会出现比如D:和E:的空闲空间都不足以存某一个文件,但是两个分区的空闲空间加起来就可以,这样还要去移文件。如果只有一个分区的话,不够了,就意味着,换大点的硬盘吧。

以上是题外话,对于Linux系统,也是同样的理由,我一般分三个区,一个/,一个/home,作用相当于Windows的一个C:和一个D:,但是,还要有一个swap分区,虽然一般现在的内存很大,swap分了,也不一定用到,但是,作为SPEC,还是要存在的。

今天在Arch Wiki上查vm.swappiness的设定的时候,无意查到了一个用swapfile来替代swap分区的方法。
其实这是个很老的东西了,因为好多年前,我看到过一篇写双系统的文章,里面提到了让Windows和Linux共用一个swapfile以节省空间的方法,应该就是这个东西,但是因为当时对Linux不熟,也就完全不知道它在说什么,今天再一看到,就清楚多了。

第一步:从装系统讲吧,分区的时候,不要分出单独的swap,现在的Linux安装盘都可以不挂swap而完成系统安装,不像七八年前的系统,不挂swap,就装不下去。这样子,你可以分一个/,一个/home,如果你是打算尝试的,你可以直接只分一个/,如果哪天你不想尝试了,就把这个分区重新格式化成Windows下的一个分区就OK了。(不要讨论传统的Linux分区理论,我只想说,那些什么区该单独分的理论,基本上只是适合服务器用的,个人用户,如果系统挂了,就重装呗,自己有用的东西,放在/home下就可以了,至于什么硬盘使用效率,事实上也不会有太明显的感觉)

第二步:系统安装完成后,制作一个swapfile,注意,需要root权限
dd if=/dev/zero of=/swapfile bs=1M count=1024
count的值,请按自己的需要,依现在的理论,如果swap超过2GB,就浪费了,就算真的要分超过2GB,也应该切成数个小于2GB的文件(或者分区)

第三步:格式化swapfile,同样需要root权限
mkswap /swapfile
如果使用UUID挂载方式,请记下格式化完成后程序显示的UUID值

第四步:写入/etc/fstab中
/swapfile swap swap defaults 0 0
swapfile这个名字,是随便取的,看你自己喜欢

本例中文件是放到了/下面,应该可以放在其他的地方,但事实上,还是放在/比较的好一些,重新启动系统后,swap设定生效,用free -m可以查看。

本文由:Alpha 分享 转载请注明出处http://mtoou.info/swapfile-swapfenqu/ 电脑知识博客

发表评论

邮箱地址不会被公开。 必填项已用*标注