用文件作为Swap分区

用文件手动创建Swap分区

1.创建要作为swap分区的文件:

增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
# dd if=/dev/zero of=/root/swapfile bs=1M count=1024

2.格式化为交换分区文件:
# mkswap /root/swapfile   #建立swap的文件系统

3.启用交换分区文件:
# swapon /root/swapfile   #启用swap文件

# swapoff /root/swapfile   #关闭swap文件

4.使系统开机时自启用,在文件/etc/fstab中添加一行:
/root/swapfile   swap   swap   defaults  0 0

 

5.修改linux swap空间的swappiness,降低对硬盘的缓存

linux 会使用硬盘的一部分做为SWAP分区,用来进行进程调度--进程是正在运行的程序--把当前不用的进程调成‘等待(standby)‘,甚至‘睡眠(sleep)’,

一旦要用,再调成‘活动(active)’,睡眠的进程就躺到SWAP分区睡大觉,把内存空出来让给‘活动’的进程。


如果内存够大,应当告诉 linux 不必太多的使用 SWAP 分区, 可以通过修改 swappiness 的数值。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。在ubuntu 里面,默认设置swappiness这个值等于60。
  
!!!! 如果内存较小,而进程调度频繁,硬盘的响动就会大了 !!!!
  
现在一般内存充足的话可以改小此值,比如10, 甚至是0。具体这样做:

1.查看你的系统里面的swappiness
$ cat /proc/sys/vm/swappiness


2.修改swappiness值为10
命令:sysctl vm.swappiness=10


但是这只是临时性的修改,在你重启系统后会恢复默认的60,为长治久安,还要更进一步:
   vi /etc/sysctl.conf
在这个文档的最后加上这样一行:
vm.swappiness=10
然后保存,执行命令更新配置:sysctl -p

 

posted @ 2019-03-21 11:07  米兰的小铁將  阅读(691)  评论(0编辑  收藏  举报