阿里云服务器新建交换分区swap
通常,我们申请的阿里云服务器,默认是没有交换分区的,这意味这linux系统失去页换入和页换出的能力,linux能用的运存就只有内存这一区域,当应用程序占用内存太多,内存中的缓存区会减少,系统运行速度会变慢。
可以用以下命令查看内存的换入换出记录:
vmstat -n 1 //1是指每隔1秒刷新
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1215884 3408 530464 0 0 0 1 24 29 0 0 99 0 0
0 0 0 1215924 3408 530496 0 0 0 0 397 826 0 1 99 0 0
0 0 0 1215924 3408 530496 0 0 0 0 427 874 1 1 99 0 0
0 0 0 1215924 3408 530496 0 0 0 0 401 839 1 1 99 0 0
1 0 0 1215924 3408 530496 0 0 0 0 398 849 0 1 99 0 0
其中si,so就是swap交换的数据
如何开启交换区呢,运行下列命令:
dd if=/dev/zero of=/data/swap bs=512 count=8388616 //将zero设备作为输出,写入swap,count写入多少次,这里一共写入4G,如果没有swap会自动创建
mkswap /data/swap //设置swap为交换区
swapon /data/swap //启用
echo "/data/swap swap swap defaults 0 0" >> /etc/fstab //开机引导时会自动启动
查看是否生效:
free -m //可以看到swap分区
关闭:
swapoff /data/swap
swapoff -a >/dev/null
rm -rf /data/swap