云网牛站
所在位置:首页 > Linux教程 > Ubuntu增加(swap)交换分区

Ubuntu增加(swap)交换分区

2017-10-19 22:50:36作者:Linux编辑稿源:topspeedsnail

使用Ubuntu的系统内存512M。装的 vpn,lamp,在用vpn时会断线,原来是内存不足引起的。加入swap分区之后问题解决。

Ubuntu增加(swap)交换分区

 

查看系统的swap信息

sudo swapon -s   // 或 sudo free -m 、sudo swapon --show

Ubuntu增加(swap)交换分区

 

查看硬盘分区的可用空间

典型的做法是为swap单独创建一个分区,但是有时这是不可能完成的任务(像vps)。但是我们可以在已有的分区上创建swap文件。

查看分区信息方法命令:

df -h

Ubuntu增加(swap)交换分区

我要在 /dev/vda1 分区中创建一个512M的 swap 文件做为交换分区。

 

创建swap文件

创建512M的 /var/swap 文件

方法一:

sudo dd if=/dev/zero of=/var/swap bs=512M count=1

方法二:

sudo fallocate -l 512M /var/swap

 

激活swap文件

sudo chmod 600 /var/swap

sudo mkswap /var/swap   // 创建

sudo swapon /var/swap   // 激活

检查是否成功:

sudo swapon -s   // 或 free -m

 

永久激活创建的swap

我们现在已经有swap了,但是当我们重启服务器后swap并不会自动激活,我们可以修改 fstab 文件实现自动激活。

sudo vi /etc/fstab

添加一行:

Ubuntu增加(swap)交换分区

 

swap配置

swap有一些选项设置可以提要系统性能;

swappiness参数:Ram数据什么时候交换到swap,数值范围0-100(百分比)。如果数值接近于0,内核尽量不交换内存数据到swap,除非万不得已。如果数值接近100,将尽最大可能把内存数据交换到swap。

cat /proc/sys/vm/swappiness

默认值是60,对桌面系统还行,但是对vps,最好把它设置接近于0。

更改方法:

sudo sysctl vm.swappiness=10

这个设置会持续生效直到下次重启,我们可以在 /etc/sysctl.conf 文件中加入下面一行实现自动生效。

sudo vi /etc/sysctl.conf

在文件尾加入

vm.swappiness=10

另一个可以修改的选项为 vfs_cache_pressure

cat /proc/sys/vm/vfs_cache_pressure

sudo sysctl vm.vfs_cache_pressure=50   // 更改为50

sudo vi /etc/sysctl.conf     // 自动重启生效

vm.vfs_cache_pressure = 50

精选文章
热门文章