起因
在阿里云搞了台ECS,但是内存就1个G,操作总是悲剧的卡卡卡,于是就想着增加一点交换文件来缓解一下。
快速添加交换文件
step 1. 生成文件
先填充一个大文件,等会儿当做交换文件用:
dd if=/dev/zero of=/var/swap bs=1024 count=4096000
这里会稍微卡上一会儿,是dd在填充文件。
step 2. 格式化交换文件
将文件格式化为交换文件:
mkswap /var/swap
step 3. 加载交换文件
加载这个交换文件:
swapon /var/swap
同时将其设置为每次开机就挂载,在/etc/fstab追加一行:
/var/swap swap swap defaults 0 0
step 4. 测试是否加载成功
搞一个吃内存的小脚本执行一下来测试是否使用到的交换文件:
#!/bin/bash
mkdir /tmp/memory
mount -t tmpfs -o size=1024M tmpfs /tmp/memory
dd if=/dev/zero of=/tmp/memory/block
sleep 3600
rm /tmp/memory/block
umount /tmp/memory
rmdir /tmp/memory
根据自己的情况调整size=1024M,不然很可能一不小心就把系统搞挂了…
查看内存,交换文件被使用,说明交换文件已经加载成功了:
相关命令详解
mkswap
用于将一个文件或分区格式化为交换文件格式。
swapon
查看当前加载的交换文件信息:
swapon -s
等价于:
cat /proc/swaps
swapoff
使用swapoff来卸载已经挂载的交换文件,卸载的同时将/etc/fstab中对应的挂载项删除。
swapoff /var/swap
.