NUMA导致的MySQL服务器SWAP问题分析与解决方案

作者: 云计算机网 分类: 云安全 发布时间: 2017-05-14 06:10

【SWAP产生原理】

先从swap产生的原理来分析,由于linux内存管理比较复杂,下面以问答的方式列了一些重要的点,方便大家理解:

1、swap是如何产生的

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

2、内存回收的机制

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

lt;2gt;当内存分配没有足够的空间时,直接内存回收。

3、内存回收如何实现

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

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

4、讲几个重要的概念

lt;1gt;内存节点node,在NUMA的情况下,CPU访问不同位置的内存,会有本地内存和远端内存之分,这两个就是不同的节点。

lt;2gt;内存分区 zone,linux对内存节点做了进一步划分,将一个节点划分为不同的区。内存管理的逻辑以zone为单位。

lt;3gt;内存水位标记,分为high、low、min

通过下图可以比较直观的了解

5、内存回收行为

lt;1gt;当系统剩余内存低于low时,kswapd开始起作用进行内存回收,直到内存达到high水位。

lt;2gt;当剩余内存达到min时就会触发直接回收。

lt;3gt;当触发全局回收,并且file+freelt;=high时,一定会进行针对匿名页的swap。

下面举例:

在数据库做全备份时cache大量使用,剩余可用空间不足,触发内存回收,

上图是/proc/zoneinfo的部分内容,可以看到满足了file+freelt;=high的条件,同一时间触发了swap,将内存匿名页的数据写入交换区

有大量的文件页cache,为什么会出现file+freelt;=high的情况,分析下来全备文件缓存时,node 0的nr_inactive_file很低,大部分非活动的文件页都分布在node 1上,是由于开启NUMA导致的。

【关闭NUMA的方案】

1、 在mysqld_safe脚本中加上numactl ndash;interleave all来启动mysqld

2、 Linux Kernel启动参数中加上numa=off,需要重启服务器

3、 在BIOS层面关闭NUMA

4、 MySQL 5.6.27/5.7.9开始引用innodb_numa_interleave选项

对于2、3、4关闭NUMA的方案比较简单,不做详细描述,下面重点描述下1方案

【开启numa interleave访问的步骤】

1、 yum install numactl -y

2、修改/usr/bin/mysqld_safe文件

cmd="`mysqld_ld_preload_text`$NOHUP_NICENESS"下新增一条脚本

  • 【赛迪网-IT技术讯】和致病微生物对人类的影响一样,某种传染病的感染量从巅峰降到谷底,甚至消灭,并非只是抗生素的功劳。

    生态环境的变化,同样对致病微生物产生重大影响。

    从在下对计算机病毒多年的理解来看,计算机病毒在特定生态环境(网络应用环境)彼此消涨。

    也得出一个结论:计算机病毒的流行、消亡不完全是杀毒软件的功劳,网络应用环境的演变才是病毒表现形态变化的主导因素。

    当普通网民的上网设备从MODEM过渡到ADSL类设备,带宽从几十Kb升级到几百Kb,网络应用从一开始的bbs,浏览网页迅速转变到对网络游戏的狂热,上网成了网络游戏的代名词。

    许多人慢慢理解了虚拟道具的价值。

    在网络游戏早期,游戏装备在游戏中随机掉落,每一件游戏装备根据掉落概率的不同,具有不同的价值。

    游戏装备的买卖十分活跃,为游戏一掷千金者大有人在。

    随之而生的,便是盗号产业,盗号产业是寄生在网络游戏产业上的恶性肿瘤。

    至今,受盗号产业影响最大的是游戏厂商、游戏玩家和网吧业。

    2003年,某游戏玩家在两年时间里,花费了几千个小时和上万元的现金,在某个网络游戏里积累和购买了各种虚拟装备,这些装备使他一度在虚拟世界里所向披靡。

    但某一天,当他再次进入游戏时,却发现所有武器装备都不翼而飞,其中包括一把号称绝版的“屠龙宝刀”。

    后经查证,这些装备是被另一个玩家从其他人手中购买。

    网络游戏产业还成就了一批打钱工作室,国外媒体还给了他们一个响亮的名字:“金币农夫”。

    凡客老板陈年还曾经创办过一个网站,专门从事虚拟装备和虚拟货币买卖。

    再往后,史玉柱在征途中创新了网络游戏的运营模式,接管了金币农夫的大部分业务,游戏运营商直接生产销售虚拟道具。

    打钱工作室的生存空间被压缩,只有非绑定的装备和ID才能顺利进入交易市场。

    尽管游戏运营商的经营策略压缩了盗号产业的规模,但是针对网络游戏的盗号木马依旧活跃,在杀毒厂商收集的病毒样本中,各类盗号木马是绝对主流,杀毒厂商对盗号产业链的分析也被公安机关一个接一个破获的盗号大案所验证。

    除了安全厂商,游戏运营商也身处盗号集团的四面围剿之中。

    一开始,盗号木马采取键盘记录来盗取游戏帐号。

    游戏厂商就把虚拟键盘设计在游戏客户端,但很快发现,虚拟键盘不灵了,木马采取了截图盗号,跟踪玩家登录时的鼠标点击,并截取一定像素的图片发送到远程服务器。#p#分页标题#e#

    甚至,盗号木马对特定的游戏进行分析,直接读取破解内存数据,分析帐号密码。

    游戏厂商为对付头疼的盗号问题,设计了各种花样百出的锁:

    上线时限:登录游戏后不能立即交易,需一段时间之后才开放装备交换。

    限制异地交易:当平常登录的IP突然改变时,拒绝交易。

    仓库密码:就是帐号箱子密码。

    网页锁:登录游戏之前先登录网络解锁。

    电话锁:帐号和ID绑定,登录前打个电话,然后系统开通几分钟的登录通道。

    手机锁:同电话锁。

    硬件锁:绑定硬件的部分信息。

    矩阵密保:魔兽密保卡,这东西和某些网银的口令卡差不多。

    动态令牌:比较成功的是网易将军令。

    在盗号木马产业链中,流量商是最核心的环节,生产的新木马必须通过流量商的渠道才能完成分发。

    流量商就象媒体广告,病毒作者生产的盗号木马必须通过“媒体广告”传播出去,再安装到目标用户的电脑上。

    使用广告资源,当然就得付广告成本——流量费。

    下游是专门收获虚拟装备的各种箱子,信封。

    箱子信封里保存着偷来的帐号、装备信息,需要用工具或人工方法将这些分散的虚拟装备收集起来通过公开的装备交易平台出售。

    网页挂马对网游盗号木马的传播起着决定性的作用,由于客户端浏览器和操作系统广泛存在安全漏洞,病毒传播者据此制造木马下载器和挂马代码,再将挂马代码植入到色情网站、外挂下载站、小说下载站,以及黑客入侵后的大量商业机构网站和政府机关网站。

    访客只需要浏览这些网页,就会立即中毒,木马下载器自动运行。

    结果就是,数十种盗号木马蜂涌而来,只要这台电脑有运行网络游戏,杀毒软件不给力时,基本就会被盗。

    而在网吧玩儿游戏,那纯粹是疯了。

    曾经某厂商组织游戏工会在某网吧活动,结束后,所有帐号全部被盗。

    盗号产业链的各个环节可能是独立运营,也可能都处于一个集团的控制之中。

    2009年,南京警方破获了国内最大的一起网游盗号木马案,该团伙控制了全国盗号木马产量的60%,影响了40余款热门网游的运营,据该团伙主犯王某称,该团伙在巅峰时期,三个月收入3000万元。

    可以肯定的是,绝大部分网游虚拟财产被盗的案件未被立案,更谈不上破案。

    这起千万元级别的盗号木马大案还是在查处某国家机关网站被入侵时无意中深挖出来的。#p#分页标题#e#

    安全厂商对盗号木马也只做到了头疼医头,脚疼医脚:各厂商都推出了所谓密保、保险箱产品,有的普及率还非常高。

    但是,都没有阻止盗号木马的漫延。

    金山密保的保护效果不错,可惜,这个产品的推广和研发都十分不给力。

    在控制盗号木马传播的过程中,金山网盾类的防网页挂马工具功不可没。

    此类工具的普及,已令网页挂马丧失利用价值。

    盗号木马的传播,被迫走向捆绑欺诈下载。

    随着网络应用的不断扩展,在线游戏的耀眼光芒被在线购物和在线视频取代,病毒产业又找到新的方向。

    当然,在今后很长的时间里,盗号木马仍然是游戏玩家的最大威胁。

    游戏领域的安全问题,仍然等待安全厂商着力解决。

    (责任编辑:admin)

  • 相关推荐:

  • 谁拿了我的屠龙刀? 看
  • 病毒传播渠道再变革:
  • 安全回忆录:铺天盖地的
  • 新病毒冒充播放器逃脱杀
  • 病毒里的F117 隐秘躲避
  • 假冒杀毒软件在MacOSX系统
  • 摄像头连着谁的眼?恐怖
  • 可验证的微软“数字签名
  • 安全杂谈:看看MAC系统病
  • 安全回忆录:一个时代的
  • 网站内容禁止违规转载,转载授权联系中国云计算网