使用Ubuntu的系统内存512M。装的 vpn,lamp,在用vpn时会断线,原来是内存不足引起的。加入swap分区之后问题解决。
查看系统的swap信息 sudo swapon -s // 或 sudo free -m 、sudo swapon --show
查看硬盘分区的可用空间 典型的做法是为swap单独创建一个分区,但是有时这是不可能完成的任务(像vps)。但是我们可以在已有的分区上创建swap文件。 查看分区信息方法命令: df -h
我要在 /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 添加一行:
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 |