加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL的内存和相干题目排查

发布时间:2018-11-07 15:26:00 所属栏目:编程 来源:虫虫安全
导读:我们都知道数据库是IO麋集型一类应用,为了进步其机能大量行使内存取代文件(互换分区)的IO操纵是担保数据库不变、高效的根基原则。那么数据库是怎样行使内存的,我们怎样查察数据库内存的占用,怎样通过通过数据库内存设置配置进步其机能?本文虫虫就以M

swappiness参数节制内核将历程移出物理内存并将其放入互换磁盘分区的趋势。我们之前也说过了磁盘IO操纵要比RAM慢许多许多,因此假如历程过于频仍地从内存中置换出,这会导致体系和应用措施的相应时刻变慢。高swappiness值意味着内核更轻易打消内存页面。低swappiness相反,内核将不太轻易打消内存页面。swappiness值越高,体系内存置换的越多。

linux下体系(CentOS、Red Hat、ubuntu)默认的swappiness值为60。假如内存较小则应恰当调高这个值。对付内存足够的MySQL处事器,这个默认配置就有点太高了,应该镌汰。一样平常环境下,业界提议这个值可以配置到5.可能更小。配置swappiness要领是行使sysctl呼吁直接改变内核参数。

  1. sysctl -w vn.swappinness = 1 

NUMA配置

尚有一个方面就是NUMA配置。对付具有多个NUMA焦点的处事器,提议将NUMA模式配置为交织,以均衡全部节点的内存分派。 在最新的MySQL 8.0中支持为InnoDB配置NUMA。可以在设置通过启动:innodb_numa_interleave = 1

要搜查是否有多个NUMA节点,可以行使numactl -H

这是两种差异的输出:

MySQL的内存和相干题目排查

MySQL的内存和相干题目排查

我们可以看到,当有多个NUMA节点(下)时,默认环境下,内存不会在全部节点之间均匀分派。这可以导致更多内存置换。

文件体系缓存

默认环境下,Linux将行使文件体系会对全部的I/O操纵举办缓存(这是不提议行使MyISAM的缘故起因之一,MyISAM存储引擎依靠于FS缓存,而且也许导致丢失数据)。Mysql InnoDB引擎中行使O_DIRECT作为innodb_flush_method,MySQL将绕过文件体系缓存,不会将任何FS Cache Memory用于数据文件(* .ibd)。

虽然在MySQL中行使的其他非数据文件仍会行使FS Cache。我们来看个例子:

  1. dbsake fincore binlog.000017 
  2. binlog.000017: total_pages=120841 cached=50556 percent=41.84 
  3. ls -lh binlog.000017 
  4. -rw-r----- 1 mysql mysql 473M Sep 18 07:17 binlog.000017 
  5. free -m 
  6. total used free shared buffers cached 
  7. Mem: 5965 4608 1356 128 435 2456 
  8. -/+ buffers/cache: 1716 4249 
  9. Swap: 2045 30 2015 
  10. dbsake uncache binlog.000017 
  11. Uncached binlog.000017 
  12. # free -m 
  13. total used free shared buffers cached 
  14. Mem: 5965 4413 1552 128 435 2259 
  15. -/+ buffers/cache: 1718 4247 
  16. Swap: 2045 30 2015 

开始搜查文件体系缓存中存在几多二进制日记(行使dbsake fincore),我们可以看到473M中有42%行使RAM作为FS缓存。然后我逼迫打消在缓存中行使这些页面(行使fincore uncache),功效,我们开释了+/- 195MB的RAM。

【编辑保举】

  1. 存储器就是内存还包罗了寄存器?
  2. Linux体系真的很吃内存?
  3. MySQL:缓存算什么对象?!
  4. 深入详解JVM内存模子与JVM参数具体设置
  5. Linux 查察历程耗损内存环境总结
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读