Ubuntu修改交换空间(新增或扩容)
以前的linux在安装的时候一般都会设定一个交换分区空间。但经常不使用也浪费,不够用以后再修改也麻烦。这样我们可以通过使用交换文件来代替以前独立硬盘上的交换分区。
首先要先说明优化修改swap
在ubuntu 里面,swappiness的值的大小对如何使用swap分区是有着很大的联系的。
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,
swappiness=100的时候表示最大限度的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
对于ubuntu的默认设置,这个值等于60,建议修改为10。为了命令执行方便一开始我使用sudo -i 然后输入密码取得root权限以后就方便些。
查看系统里的swappiness
- 查看系统的swappiness ,
$ cat /proc/sys/vm/swappiness
系统默认为60 - 修改swappiness值为10;
$ sudo sysctl vm.swappiness=10
但是这只是临时性的修改,在你重启系统后会恢复默认的60,所以,还要做一步:
$ gedit /etc/sysctl.conf
在这个文档的最后加上这样一行: vm.swappiness=10
然后保存,重启生效。
创建或增加需要的交换文件(交换空间)
先创建一个交换文件存放的目录。我在根目录下创建名叫swap的目录
$ mkdir /swap
然后进入目录
$ cd /swap
创建交换分区文件的大小
$sudo dd if=/dev/zero of=swapfile bs=1M count=2k
(创建或增加2G的swap, 如果希望4G,令count=4k,以此类推。创建分区的大小就= bs * count。)
这步需要等待一段时间,成功后会有提示,这时候查看swap文件夹下会多一个交换文件(swapfile),文件名字可以自己定义在上面创建命令里。
然后输入命令 :
$ mkswap swapfile
挂载交换分区:
$ swapon swapfile
如果想卸载的话输入:
$ swapoff swapfile
卸载后可以删除这个文件,然后重新根据你新的需要创建和调整交换文件大小
最后可以查看空间大小:free -m swap。后面的大小就是你设定交换文件的大小。如果不为0就说明挂载成功了。
root@babe-FMVNA8HEC:/swap# free -m
total used free shared buffers cached
Mem: 2964 2869 94 288 6 1786
-/+ buffers/cache: 1076 1887
Swap: 2047 0 2047
最后,开机自动挂载交换文件:
sudo gedit /etc/fstab
打开文件后,在最后添加“/swap/swapfile swap swap defaults 0 0”,保存关闭