云主机添加SWAP (AWS,阿里云)
云主机添加SWAP (AWS,阿里云)
20180712 Chenxin
本文档同样适用于物理机(内网129测试过)
内存不足导致java应用程序crash(系统kernel异常).
要查看您的实例是否正在使用交换空间,可以使用 swapon -s 命令
[admin@ip-10-0-1-23 ~]$ swapon -s
[admin@ip-10-0-1-23 ~]$ free -m
total used free shared buffers cached
Mem: 1995 1902 92 0 6 62
-/+ buffers/cache: 1833 161
Swap: 0 0 0
[admin@ip-10-0-1-23 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 20G 0 part /
制作swap文件空间并挂载.
从本地磁盘中划一个文件来做swap:
dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 #生成文件
mkswap /var/swap.1 #格式化
chmod 600 /var/swap.1 #赋权
挂载:
swapon /var/swap.1
还可以再制作一个swap文件,(多个swap文件)累加到swap上(无需重启):
dd if=/dev/zero of=/var/swap.2 bs=1M count=1024
mkswap /var/swap.2
chmod 600 /var/swap.2
swapon /var/swap.2
检查swap内存是否由1GB,升到2GB: [root@ip-10-0-1-198 ~]# free -m
Swap: 2047 763 1284 #加上swap1的,一共就是2GB了.
写入分区表:
If you need more than 1024 then change that to something higher.To enable it by default after reboot, add this line to /etc/fstab:
/var/swap.1 swap swap defaults 0 0
检查(可以不用重启):
[admin@ip-10-0-1-23 ~]$ free -m
total used free shared buffers cached
Mem: 483 147 335 0 10 93
-/+ buffers/cache: 43 440
Swap: 1023 0 1023
查看swap文件:
[admin@ip-10-0-1-23 ~]$ swapon -s #只加了1个swap文件
Filename Type Size Used Priority
/var/swap.1 file 1048572 0 -2
[root@ip-10-0-1-198 ~]# swapon -s #额外又加了1个swap文件
Filename Type Size Used Priority
/var/swap.1 file 1048572 782612 -2
/var/swap.2 file 1048572 0 -3
关闭swap
swapoff -a
同时检查 /etc/fstab 里是否有加载swap的分区选项,有的话,也必须注释掉,否则reboot后,会再次启动.