CentOS下增加Swap交换分区

前言

今天早上,我用64M的小机编译LNMP环境,过了一会后发现进程被killed了,再次编译也被killed,之后我发现内存已用尽,这应该是LNMP脚本被Killed的真正原因

Linux中的Swap分区(交换分区)相当于Windows系统下的虚拟内存,当内存要用尽的时候,把一部分硬盘空间转为内存使用,以缓解内存不足的问题。

检测

先检查系统里有无Swap交换分区

1
swapon -s

如果返回的信息是空的,就代表swap交换分区不存在

我们还需要检查硬盘中是否有足够的空间给我们做swap

1
df -hl

检查返回的信息,还剩余足够的硬盘空间即可

创建

接下来用dd命令创建swap文件

1
dd if=/dev/zero of=/tmp/swap bs=1024 count=1024k

参数解读:

  • if=文件名:输入文件名,缺省为标准输入。即指定源文件(if=input file )
  • of=文件名:输出文件名,缺省为标准输出。即指定目的文件(of=output file )
  • bs=bytes:同时设置读入/输出的块大小为bytes个字节
  • count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。

创建好swap分区后,需要格式化

1
mkswap /tmp/swap

接着激活swap

1
swapon /tmp/swap

检查一下swap

1
swapon -s

有信息返回即可

收尾

设置开机时自动挂载swap分区
编辑 /etc/fstab 文件,在末尾添加一行

1
/tmp/swap swap swap defaults 0 0

再给swap分区适当的权限

1
2
chown root:root /tmp/swap
chmod 600 /tmp/swap

CentOS下增加Swap交换分区
http://www.evec.cc/2016/08/30/centos-add-swap/
作者
前夕
发布于
2016年8月30日
许可协议