• numa 和 mysql


    cpu numa结构反应的内存访问速度问题:

    在多核cpu的时代引入了cpu的numa(非一致内存访问结构):

    NUMA引入了node的概念,每个物理CPU都被视作一个node,而每个node都有一个local memory(访问速度更快),其他node的内存则为remote

    NUMA的内存分配策略有localalloc、preferred、membind、interleave。
    localalloc规定进程从当前node上请求分配内存;
    preferred比较宽松地指定了一个推荐的node来获取内存,如果被推荐的node上没有足够内存,进程可以尝试别的node。
    membind可以指定若干个node,进程只能从这些指定的node上请求分配内存。
    interleave规定进程从指定的若干个node上以Round-roll算法交织地请求分配内存。

    在centos中,localalloc是默认的NUMA内存分配策略,
    这个配置选项导致资源独占程序很容易将某个node的内存用尽。而当某个node的内存耗尽时,
    Linux又刚好将这个node分配给了某个需要消耗大量内存的进程(或线程),
    此时即便其他node有空闲内存也无济于事,于是就产生了swap(swap对性能影响非常大)


    [root@zabbix-server bin]# sysctl -a|grep vm.zone
    vm.zone_reclaim_mode = 0
    numa结构中设置 vm.zone_reclaim_mode = 0:内存不足时去remote memory分配优先于swap out local page



    调低mysql被oom_kill的可能
    echo -15 > /proc/`pidof mysqld`/oom_adj

     关闭numa:

    1、

    [root@zabbix-server ~]# vim /etc/grub.conf 

    2、

    在bois中关闭

  • 相关阅读:
    Android Apk获取包名和Activity名称
    SoupUI接口测试学习分享
    Android 手机自动化测试工具有哪几种?
    SVN和CVS的区别
    名词
    本地解析地址步骤
    python3.6.1+selenium3.0环境安装问题及解决方法
    简述企业信息化与企业架构关系
    企业架构实践的线下公开课学习感悟
    golang 12.9 go mod 实践
  • 原文地址:https://www.cnblogs.com/fanxuanhui-linux/p/6262990.html
Copyright © 2020-2023  润新知