最近见一些人买了 128MB小内存的KVM小鸡想要安装锐速,但是老是提示内存不足,或者运行ShadowsocksR服务端老被系统Kill,那么可以适当的添加一些虚拟内存,以避免内存不足的问题。
SWAP简单介绍
Linux的内存分为 物理内存 和 虚拟内存,虚拟内存(SWAP)也叫交换区、交换分区等。
准备工作
注意:只有虚拟化构架为XEN、KVM、VM-Ware的VPS可以自己添加SWAP,OpenVZ不支持添加SWAP!
root 账号
添加SWAP操作,必须是 root 用户才可以操作,所以请用 root 账号登陆服务器或者切换为 root 用户:
su
输入执行后,会提示你输入 root 账号的密码,输入正确密码并回车后,没有报错那么就可以继续下面的步骤了。
检查硬盘大小
因为SWAP是在硬盘中建立一个交换区文件,所以需要磁盘中最少有 这个文件大小 的空闲空间。
输入执行这个命令,即可看到你的VPS当前磁盘大小和使用情况:
df -m
从下面的示例中可以看到,这个VPS大概有 15GB的硬盘大小(14621 MB),用了 1GB(1117 MB),剩下12.5GB(12763 MB)大小。
既然硬盘大小充足,那就可以继续下面步骤了。
# VPS示例提示 # # 下列参数表头分别为:文件系统、总大小(单位MB)、已用大小(单位MB)、未用大小(单位MB)、使用率(%)、挂载点 [email protected]:~# df -m Filesystem 1M-blocks Used Available Use% Mounted on rootfs 14621 1117 12763 9% / udev 10 0 10 0% /dev tmpfs 50 1 50 1% /run /dev/disk/by-uuid/12dc23 14621 1117 12763 9% / tmpfs 5 0 5 0% /run/lock tmpfs 202 0 202 0% /run/shm # VPS示例提示 #
添加交换区SWAP
查看 当前SWAP大小
我们可以先查看一下当前的SWAP大小(单位 MB)。
free -m
# VPS示例提示 # [email protected]:~# free -m total used free shared buffers cached Mem: 244 141 103 0 38 76 -/+ buffers/cache: 26 218 Swap: 127 0 127 # VPS示例提示 #
创建 SWAP文件
从上面的VPS示例中可以看到,这个VPS物理内存约等于 256MB,所以可以添加 物理内存*2的SWAP=512MB 。
bs 是字节数,这里是1024 B,count 是blocks块数,of 是要输出的SWAP交换区文件(本文章仅为示例,文件和位置可以自己改)
所以: bs=1024 B=1 KB,512000 * 1 KB=512000 KB / 1024 ≈ 512 MB (为了直观的看,就按1000来算了 )
dd if=/dev/zero of=/var/swapfile1 bs=1024 count=512000
# VPS示例提示 # [email protected]:~# dd if=/dev/zero of=/var/swapfile1 bs=1024 count=512000 512000+0 records in 512000+0 records out 524288000 bytes (524 MB) copied, 4.09314 s, 128 MB/s # VPS示例提示 #
查看文件是否创建成功,大小是否正确(因为按1000计算,所以会不足 512MB)
du -ah /var|grep "swapfile1"
# VPS示例提示 # [email protected]:~# du -ah /var|grep "swapfile1" 501M /var/swapfile1
建立 SWAP文件
mkswap /var/swapfile1
# VPS示例提示 # [email protected]:~# mkswap /var/swapfile1 Setting up swapspace version 1, size = 511996 KiB no label, UUID=c48fef60-7d49-450c-bfd1-7a7826de7cdd # VPS示例提示 #
启用 SWAP文件
swapon /var/swapfile1
启用 SWAP文件没有任何提示,启用后我们查看一下是否正常启用:
swapon -s free -m
可以看到下面的SWAP中,成功添加启用了一个 SWAP交换区。
# VPS示例提示 # [email protected]:~# swapon -s Filename Type Size Used Priority /dev/vda2 partition 131068 0 -1 /var/swapfile1 file 511996 0 -2 [email protected]:~# free -m total used free shared buffers cached Mem: 244 240 4 0 34 175 -/+ buffers/cache: 30 214 Swap: 627 0 627 # VPS示例提示 #
开机启动加载
echo "/var/swapfile1 swap swap defaults 0 0" >> /etc/fstab
如果你又不想要刚才新添加的SWAP了,那么可以取消它们。
取消 SWAP文件
swapoff /var/swapfile1
取消 开机启动加载
sed -i "/swapfile1/d" /etc/fstab
取消后,可以再 free -m
查看一下SWAP,确定取消了,那么就可以删除 SWAP文件了。
删除 SWAP文件
rm -rf /var/swapfile1
有什么问题请在下面留言!
转载请超链接注明:逗比根据地 » Linux 添加 SWAP 交换内存/虚拟内存 的简单方法
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
所以我又把教程里的 /root 改成了 /var 。