关闭NUMA

作者: 飞翔的Tallgeese | 来源:发表于2018-11-20 15:12 被阅读2次

今天朋友告知他的库因为numa的原因导致OOM了,趁着这个话题就来操作一把测试库的numa。


关于swap(摘自网络)

swap是如何产生的

swap指的是一个交换分区或文件,主要是在内存使用存在压力时,触发内存回收,这时可能会将部分内存的数据交换到swap空间

内存回收的机制

①Linux内核使用cache对部分文件进行缓存,提升文件读写效率。所以 引入了kswapd进程进行周期性检查,保证剩余内存空间

②当内存分配没有足够的空间时,直接内存回收

内存回收如何实现

这部分实现非常复杂,简单来说,内存回收操作主要针对内存的文件页和匿名页,这些页都通过LRU链表来管理。

其中anon的匿名页内存主要回收手段是swap,文件页释放方式是写回和清空


关于swappiness(摘自网络)

swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60

简单地说这个参数定义了系统对swap的使用倾向,默认值为60,值越大表示越倾向于使用swap。可以设为0,这样做并不会禁止对swap的使用,只是最大限度地降低了使用swap的可能性


关于numa(摘自网络)

numa主要是和swap有关

numactl --hardware

当发现numa_miss数值比较高时,说明需要对分配策略进行调整。例如将指定进程关联绑定到指定的CPU上,从而提高内存命中率


操作部分

关闭numa

在操作系统中关闭,可以直接在/etc/grub.conf的kernel行最后添加numa=off,如下所示:

  kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=VolGroup/root rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_LVM_LV=VolGroup/swap rhgb crashkernel=auto quiet KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM  numa=off

此外在mysql版本5.6.27/5.7.8以后,可以在cnf里配置innodb_numa_interleave参数,将其设置为ON


查询当前swappiness的设置值

[root@zjk ~]# cat /proc/sys/vm/swappiness

60

查询当前swap使用情况

清空swap(执行swapoff -a;swapon -a)

重新设置swappiness值

vim /etc/sysctl.conf;  设置vm.swappiness=0

使该设置生效

sysctl -p

来看一下更改前后vmstat中swap的变化

改完swappiness之后

注意:在CentOS7中最好不要把swappiness设置成0,会有问题,设置成5-10即可

相关文章

  • 关闭NUMA

    今天朋友告知他的库因为numa的原因导致OOM了,趁着这个话题就来操作一把测试库的numa。 关于swap(摘自网...

  • UEFI启动方式下Linux关闭numa

    关闭numa可以使主机部署的MySQL服务不使用swap空间 关闭如下:1.在auto后添加numa=offvi ...

  • MySql标准化安装(v5.6, v5.7)

    一、硬件部分 Linux环境检查 关闭numa 限制设置 /etc/security/limits.conf & ...

  • Linux环境检查

    1.关闭numa2.限制设置 /etc/secuity/limits.conf&网络优化3.关闭swap4.IO调...

  • Linux内核load balance(一)

    [TOC] ## NUMA ### 为什么要有NUMA 在NUMA架构出现前,CPU欢快的朝着频率越来越高的方向发...

  • CentOS7 系统层面开启/关闭 NUMA

    CentOS7 系统层面开启/关闭 NUMA 在线上环境中,因为硬件机器配置往往高于需求,为了更合理规划资源,会考...

  • ceph14.1.x的一下新功能(二)

    10、osd的numa亲和 ceph14开始支持osd的自动numa亲和,这样就不用麻烦再写脚本做numa绑定了。...

  • 【numa】关于numa

    # yum -y install numactl # yum info numactl # rpm -ql num...

  • 数据库问题手册一

    批量sql 查看io 数据库日常巡检脚本 系统优化 numa关闭 1.bios方式进入时设置。改成节点交叉存取 2...

  • 浅解NUMA机制

    导读 本文适合知道NUMA这个词但想进一步了解的新手。 以下的文章内容包括:NUMA的产生背景,NUMA的架构细节...

网友评论

    本文标题:关闭NUMA

    本文链接:https://www.haomeiwen.com/subject/decxqqtx.html