Add Swap on Ubuntu 14.04(ali vps) - WBowam/wbowam.github.com GitHub Wiki
Date:2015-06-20
Title: Add Swap on Ubuntu 14.04
Tags: Ubuntu,Swap
Category:IT
情景
我有一台阿里vps,512M内存,20G磁盘。
内存不够用,想🈹4G磁盘做SWAP。
磁盘里有数据,不能格式化。
具体情况如下
tulpar@ali ~ df -hl
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 17G 2.6G 87% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 234M 4.0K 234M 1% /dev
tmpfs 49M 824K 49M 2% /run
none 5.0M 0 5.0M 0% /run/lock
none 245M 0 245M 0% /run/shm
none 100M 0 100M 0% /run/user
tulpar@ali ~ free -m
total used free shared buffers cached
Mem: 489 316 172 0 22 93
-/+ buffers/cache: 201 288
Swap: 0 0 0
解决思路
- 在20G的磁盘上创建一个4G大小的文件
- 把上述文件的空间作为SWAP分区
具体方法如下
1. 创建4G大小的文件
1.1 方法一
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
1.2 方法二
sudo fallocate -l 4G /swapfile
结果
ls -lh /swapfile
-rw-r--r-- 1 root root 4.0G Apr 28 17:19 /swapfile
2. 把上述文件作为SWAP
2.1 为了SWAP_FILE的读写安全,设置文件权限为只有root能读写
sudo chmod 600 /swapfile
ls -lh /swapfile
-rw------- 1 root root 4.0G Apr 28 17:19 /swapfile
2.2 设置SWAP
## 设置
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944
## 启动
$ sudo swapon /swapfile
## 查看状态
$ sudo swapon -s
Filename Type Size Used Priority
/swapfile file 4194300 0 -1
$ free -m
total used free shared buffers cached
Mem: 3953 101 3851 0 5 30
-/+ buffers/cache: 66 3887
Swap: 4095 0 4095
2.3 永久的设置SWAP(2.2中得方法设置SWAP,重启后会失效)
/etc/fstab
中加入下面一行
/swapfile none swap sw 0 0
3 设置SWAP的使用量
3.1 设置
在/etc/sysctl.conf
末尾加入下一行
vm.vfs_cache_pressure = 50
或为了不重启
sysctl vm.swappiness=10
3.2 查看当前swappiness
cat /proc/sys/vm/swappiness