通常,我们申请的阿里云服务器,默认是没有交换分区的,这意味这linux系统失去页换入和页换出的能力,linux能用的运存就只有内存这一区域,当应用程序占用内存太多,内存中的缓存区会减少,系统运行速度会变慢。
可以用以下命令查看内存的换入换出记录:
如何开启交换区呢,运行下列命令:
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分区
关闭swap分区:
swapoff /data/swap
swapoff -a >/dev/null
rm -rf /data/swap
另外一种方法: 永久配置
1. 分配文件空间
建立一个 2048M 的 swap 所需的文件空间
dd if=/dev/zero of=/var/blockd.swap bs=1M count=2048
2. 文件 swap 格式化
mkswap /var/blockd.swap
3. 激活 swap
由于 /etc/rc.local
文件会优先于 /etc/fstab
执行,所以在文件 /etc/rc.local
里面增加下面一行命令
swapon /var/blockd.swap
4. 挂在 swap
打开 /etc/fstab
文件编辑追加以下内容
/var/blockd.swap swap swap default 0 0
5. 修改 swap 利用率
编辑 /etc/sysctl.conf
实现永久生效
vm.swappiness=60
重启生效
更多命令
1. 查看 swap
swapon -s
2. 关闭 swap
swapoff /var/blockd.swap
3. 查看 Swap 利用率
cat /proc/sys/vm/swappiness
4. 查看磁盘使用情况
df -hl
5. 参数解释:vm.swappiness
这个参数主要用来表示物理内存还剩多大比例才开始使用内存交换,本文中设置的值为 60 即当物理内存还剩 60% 时开始进行内存交换。
阿里云的 ECS 目前都是默认关闭 swap ,所以需要服务器维护人员自己开启swap
另外一篇关于阿里云swap的帖子:http://www.iamlintao.com/6248.html 更详细的说明了上面的操作
如需转载请注明: 转载自26点的博客
本文链接地址: 阿里云服务器设置swap 交换分区
转载请注明:26点的博客 » 阿里云服务器设置swap 交换分区