今天早上,我用64M的小机编译LNMP环境,过了一会后发现进程被killed了,再次编译也被killed,之后我执行了一下 free 发现内存已用尽,这应该是LNMP脚本被Killed的真正原因
既然这样,那么我们就增加Swap交换分区吧
Linux中的Swap分区(交换分区)相当于Windows系统下的虚拟内存,当内存要Boom的时候,把一部分硬盘空间转为内存使用,以缓解内存不足的问题,但总归是硬盘,SSD还好说,HDD的速度就不敢恭维了
我们先检查系统里有没有Swap交换分区
swapon -s
如果返回的信息是空的,就代表Swap交换分区不存在
我们还需要检查硬盘中是否有足够的空间给我们做Swap
df -hl
检查返回的信息,还剩余足够的硬盘空间即可
接下来使用 dd 命令来创建 Swap 文件。
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分区后我们要格式化
mkswap /tmp/swap
接着激活Swap
swapon /tmp/swap
然后我们检查Swap
swapon -s
有返回信息即可,例如
这就创建成功了
且慢,还有最后一步
设置开机时自动挂载Swap分区
用 vim 打开 /etc/fstab 文件,然后在最后添加一行
/tmp/swap swap swap defaults 0 0
再给Swap分区适当的权限
chown root:root /tmp/swap
chmod 600 /tmp/swap
发表评论