Linux调整swap大小和swap性能优化
Linux调整swap大小和swap性能优化
机器上的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服务器上)
临时修改方案:
# 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
整理 by:cpp.cloudcpp.com