zoukankan      html  css  js  c++  java
  • 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中关闭

  • 相关阅读:
    WEB存储
    2D变形
    HTML5音频与视频
    HTML5 canvas元素
    HTML5表单
    Can't finish GitHub sharing process Successfully created project 'springcloud-parent' on GitHub,
    Intellij idea上传项目到github
    Git for Windows安装和基本设置
    Eclipse注释快捷键、如何生成API以及可能遇到的问题解决
    mysql忘记密码
  • 原文地址:https://www.cnblogs.com/fanxuanhui-linux/p/6262990.html
Copyright © 2011-2022 走看看