阿里云ECS添加Swap分区教程

Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。

一、交换分区的大小分配推荐法则

内存小于4GB时,推荐不少于2GB的swap空间;

内存4GB~16GB,推荐不少于4GB的swap空间;

内存16GB~64GB,推荐不少于8GB的swap空间;

内存64GB~256GB,推荐不少于16GB的swap空间;

二、创建Swap文件

dd if=/dev/zero of=/root/swap bs=1M count=2048

三、构建swap分区

mkswap /root/swap

四、修改内核参数权重

vim /etc/sysctl.conf

将vm.swappiness参数改为70

  1 # System default settings live in /usr/lib/sysctl.d/00-system.conf.
  2 # To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
  3 #
  4 # For more information, see sysctl.conf(5) and sysctl.d(5).
  5 
  6 
  7 vm.swappiness = 70
  8 net.ipv4.neigh.default.gc_stale_time=120
  9 net.ipv4.conf.all.rp_filter=0
 10 net.ipv4.conf.default.rp_filter=0
 11 net.ipv4.conf.default.arp_announce = 2
 12 net.ipv4.conf.all.arp_announce=2
 13 net.ipv4.tcp_max_tw_buckets = 5000
 14 net.ipv4.tcp_syncookies = 1
 15 net.ipv4.tcp_max_syn_backlog = 1024
 16 net.ipv4.tcp_synack_retries = 2
 17 net.ipv6.conf.all.disable_ipv6 = 1
 18 net.ipv6.conf.default.disable_ipv6 = 1
 19 net.ipv6.conf.lo.disable_ipv6 = 1
 20 net.ipv4.conf.lo.arp_announce=2

五、启用Swap分区

vim /etc/fstab

插入如下代码

/root/swap swap swap defaults 0 0

六、最终效果

top

free -m