• 梦想还是要有的,万一实现了呢...
  • 区块链论坛整装待发...

Linux/Ubuntu/Centos调整swap大小性能优化swappiness参数在内存与交换分区之间优化作用

Linux Vetrue 5个月前 (07-14) 335次浏览 1个评论 二维码链接

机器上的 swap 空间太大,但是由于硬盘 io 较慢,所以决定做一些优化:调小 swap,然后尽可能的”禁用”swap。

1、先“df -h”和“fdisk – l”命令查看一下当前分区情况
/dev/mapper/vg_”hostname”-lv_swap 就是 swap 分区,为 2G。swap 分区亦可用 free 命令查看到。
2、用 swapoff 命令关闭交换分区(或者用 swapoff -a):
# swapoff /dev/mapper/vg_”hostname”-lv_swap
然后用 free 命令检查下 swap 是否变为 0 了。
3、用 lvreduce 命令把 swap 分区减小 4096M:
# lvreduce -L -4096M /dev/mapper/vg_”hostname”-lv_swap
输入 y,确定,看到提示 swap 减小了 4GB。
4、重新把/dev/mapper/vg_”hostname”-lv_swap 设置为 swap 分区:
# mkswap /dev/mapper/vg_”hostname”-lv_swap
5、swapon 开启 swap 分区:
# swapon /dev/mapper/vg_”hostname”-lv_swap
然后用 free 命令检查下 swap 是否减小了 4GB
6、把多余的空间挂载到/root 目录
# vgdisplay
显示空闲的磁盘 4GB
#lvextend -L +4G /dev/mapper/VolGroup-lv_root
7、激活大小
#resize2fs -p /dev/mapper/VolGroup-lv_root
8、df -h 查看大小
9、尽可能”禁止”使用 swap
# echo ‘vm.swappiness=10’>> /etc/sysctl.conf
注:(为什么要尽可能避免使用 swap? # cat /proc/sys/vm/swappiness,值默认值是 60, swappiness=0 的时候表示最大限度使用物理内存,然后才是 swap 空间,swappiness=100 的时候表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间里面。现在服务器的内存动不动就是上百 G,或者云主机架构,机器 io 太慢会极大的影响机器性能,所以我们可以把这个参数值设置的低一些,让操作系统尽可能的使用物理内存,降低系统对 swap 的使用,从而提高系统的性能。另:在大内存服务器中我们需要设置这个值为 0,尤其是在 Mysql 服务器上)

一般默认值都是 60

[[email protected] ~]# cat /proc/sys/vm/swappiness
60

也就是说,你的内存在使用到 100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统 io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。

临时修改方案:
# sysctl vm.swappiness=10
vm.swappiness = 10
# cat /proc/sys/vm/swappiness
10
这里我们的修改已经生效,但是如果我们重启了系统,又会变成 60.

永久修改方案:
在/etc/sysctl.conf 文件里添加如下参数:
vm.swappiness=10
或者:
# echo ‘vm.swappiness=10’>> /etc/sysctl.conf


Vetrue , 版权所有丨如未注明 , 均为原创丨转载请注明原文链接
原文标题:Linux/Ubuntu/Centos 调整 swap 大小性能优化 swappiness 参数在内存与交换分区之间优化作用
原文链接:https://vetrue.com/article/303.html
喜欢 (0)
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 文章不错非常喜欢
    今日新闻2018-08-10 01:18 回复