Ubuntu系统调整Swap交换文件大小

什么是Swap分区

Swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中

系统安装时自动创建的swap交换文件只有1G,然而跑编译的时候一直会提示错误,后来才发现是交换文件太小了,需要另外再增加一些swap交换文件的大小。

查看Swap文件大小

free -m m 是以兆为单位, g是以GB为单位, 默认是kb

 

我们可以看到默认配置的swap文件是2G,如果是用来编译处理大数据的话肯定是不够用的。

创建目录和SWAP文件

在相应目录下创建一个存放swap文件的文件夹 并进入该目录

sudo mkdir /home/swapfile

cd home/swapfile

用dd命令创建swap文件

用dd命令创建一个2G的交换空间文件

sudo dd if=/dev/zero of=swap bs=1G count=2

dd 命令解释

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

参数注释:
1 if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >

2 of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >

3 ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
  obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
  bs=bytes:同时设置读入/输出的块大小为bytes个字节。

4 cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。

5 skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

6 seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
  注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。

7 count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

8 conv=conversion:用指定的参数转换文件。
			 ascii:转换ebcdic为ascii
       ebcdic:转换ascii为ebcdic
			 ibm:转换ascii为alternate ebcdic
			 block:把每一行转换为长度为cbs,不足部分用空格填充
			 unblock:使每一行的长度都为cbs,不足部分用空格填充
			 lcase:把大写字符转换为小写字符
			 ucase:把小写字符转换为大写字符
			 swab:交换输入的每对字节
			 noerror:出错时不停止
			 notrunc:不截短输出文件
			 sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

转换swap文件

sudo mkswap -f swap

激活swap文件

sudo swapon swap

有时候会出现报错 swapon: /swapfile: insecure permissions 0644, 0600 suggested.

此时需要将swap文件修改权限为644 或者600即可

chmod 644 swap

永久激活swap

编辑 fstab 文件

sudo nano /etc/fstab

在最后加上之前创建的swap文件路径和参数,重启后就正常加载swap文件了

/home/swapfile/swap none swap defaults 0 0

查看swap文件状态

swapon

会将所有的swap文件位置都列出来

再次查看状态

free -m 此时已经正常显示交换文件大为4G。

停止swap交换文件

sudo swapoff /home/swapfile/swap

删除交换文件

sudo rm /home/swapfile/swap

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
Ubuntu系统调整Swap交换文件大小
什么是Swap分区 Swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间……
<<上一篇
下一篇>>
文章目录
关闭
目 录