Linux系统内存不足时的一种解决办法,比如虚拟机主机内存因为价格问题而导致紧张。
环境:ubuntu14
1 查看内存情况:
root@ubuntu:/# free -h
total used free shared buffers cached
Mem: 741M 538M 203M 41M 6.3M 60M
-/+ buffers/cache: 472M 269M
Swap: 0B 0B 0B
可见swap为0
2 用mkdir /myswap 创建swap文件的位置(随意)
root@ubuntu:/# mkdir myswap
3 创建1GB的交换空间swapfile(文件名随意)
root@ubuntu:/# dd if=/dev/zero of=/myswap/swapfile bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 2.42013 s, 423 MB/s
4 强制转换为swap文件
root@ubuntu:/# mkswap -f /myswap/swapfile
Setting up swapspace version 1, size = 999996 KiB
no label, UUID=5da3e3c3-eff1-439a-9813-5820890e9fbc
5 启用swap并查看内存情况
root@tokyo1:/# swapon /myswap/swapfile
root@tokyo1:/# free -h
total used free shared buffers cached
Mem: 741M 686M 55M 41M 880K 205M
-/+ buffers/cache: 479M 262M
Swap: 976M 0B 976M
可见swap已经可以使用了
6 停用swap
root@ubuntu:/# swapoff /myswap/swapfile
7 此swap会在系统reboot后就会消失,让其一直存在的方法如下:
root@ubuntu:/#echo /myswap/swapfile none swap sw 0 0 >> /etc/fstab