Hugh's Blog

Linux 下使用 Swap 文件

今天在使用 composer 升级库版本时,报错:proc_open(): fork failed - Out of memory,应该是机器内存不足,即使停掉了网站所有进程之后内存还是不够,后来发现可以使用 swap 文件来暂时充当内存使用。

使用 free -m 查看当前内存信息:

              total        used        free      shared  buff/cache   available
Mem:            985         150         580           6         254         684
Swap:             0           0           0

可以看到,买的小内存机器并没有 swap 分区。

下面开始添加 swap 文件:

# 写入文件,1G
dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
# 设置为交换分区文件
mkswap /var/swap.1
# 修改文件权限
chmod 600 /var/swap.1
# 启用交换分区文件
swapon /var/swap.1
# 添加到开机启动,/etc/fstab 中添加下面一行
/var/swap.1 swap swap defaults 0 0
# 删除交换分区
swapoff /var/swap.1
rm -f /var/swap.1

查看是否加载成功:

              total        used        free      shared  buff/cache   available
Mem:            985         156         499           6         328         677
Swap:          1023         260         763

可以看到,swap 内存添加了 1G。