当前位置: 首页 > news >正文

简约网站模版石家庄货运做网站公司

简约网站模版,石家庄货运做网站公司,建网站和建网店的区别,网站规划建设与管理维护的论文背景 生产环境mysql 5.7内存占用超过90%以上#xff0c;且一直下不来。截图如下#xff1a; 原因分析 1、确定mysql具体的占用内存大小#xff0c;通过命令#xff1a;cat /proc/Mysql进程ID/status查看 命令执行后的结果比较多#xff08;其他参数的含义想了解可参考这…背景 生产环境mysql 5.7内存占用超过90%以上且一直下不来。截图如下 原因分析 1、确定mysql具体的占用内存大小通过命令cat /proc/Mysql进程ID/status查看 命令执行后的结果比较多其他参数的含义想了解可参考这个博客Linux 进程的 status 注解。_rssanon-CSDN博客重点看VmRSS参数发现使用了120G左右。 看到此处有必要延申一个知识点。innodb_buffer_pool_size 一、innodb_buffer_pool_size作用 InnoDB存储引擎是MySQL中最常用的存储引擎之一它使用内存缓存池buffer pool来缓存表中的数据和索引等信息。通过调整innodb_buffer_pool_size参数的大小可以控制InnoDB存储引擎能够利用的内存空间进而影响其缓存的数据量和索引数量。 ??innodb_buffer_pool_size设置的值较大时InnoDB存储引擎能够缓存更多的数据和索引从而减少磁盘I/O的次数提高数据库的访问速度和性能。相反如果缓存池设置过小可能会导致频繁的磁盘I/O操作影响数据库性能。 一般为物理内存的60%-70%。 二、查看当前配置的pool_size: SHOW VARIABLES LIKE innodb_buffer_pool_size;发现结果是64G配置文件也可查看这里就发现问题实际使用的内存量比配置的量多出了60G左右。 暂且把64G当成正常占用多出来的当成异常占用分析。 三、performance schema内存占用量分析 show engine performance_schema status;查看结果中的最后一行。发现占用了200多M。 四、排查MySQL为当前session会话分配的内存 查看session级别的buffer和cache占用内存大小。 show variables where variable_name in (binlog_cache_size,join_buffer_size,read_buffer_size,read_rnd_buffer_size,sort_buffer_size)结果如下 总共加起来接近800M。 里边每个值的含义和作用参考MySQL session相关的内存设置_mysql为当前session会话分配的内存-CSDN博客 查看当前活跃的连接数 SELECT * FROM information_schema.processlist WHERE command ! Sleep;结果显示差不多只有9个加入每个都分配了全量的会话内存则差不多就是9G。实际分配了多少需要根据当前会话执行的SQL判断比如有无使用到排序、有没有使用join等。上边的算完顶多才10G还有50多G的消耗也就意味着还有其他的占用。 五、排查当前临时表占用内存情况 查看tmp_table_size临时表配置的内存大小 线程级别参数实际限制从 tmp_table_size 和 max_heap_table_size 两个变量的的值中取较小值。 show variables where variable_name in (tmp_table_size,max_heap_table_size)补充知识点一临时表 如果内存中的临时表超出限制MySQL自动将其转换为磁盘上的MyISAM表。如果要执行许多 GROUP BY查询可以增加tmp_table_size的值或如有必要也可以使用max_heap_table_size。 执行计划中Extra字段包含有“Using temporary”时会产生临时表。 MySQL中临时表主要有两类包括外部临时表和内部临时表。外部临时表是通过语句create temporary table…创建的临时表临时表只在本会话有效会话断开后临时表数据会自动清理。内部临时表主要有两类一类是information_schema中临时表另一类是会话执行查询时如果执行计划中包含有“Using temporary”时会产生临时表。内部临时表与外部临时表的一个区别在于我们看不到内部临时表的表结构定义文件frm。而外部临时表的表定义文件frm一般是以#sql{进程id}_{线程id}_序列号组成因此不同会话可以创建同名的临时表。 什么时候创建临时表mysql中什么时候用临时表-mysql教程-PHP中文网 查看当前是否有临时表产生 show global status like %tmp%发现频繁使用了临时表并且出现了因内存临时表不够而使用到磁盘临时表。由于临时表占用的内存具体大小可能无法准确计算得出因为使用完会回收但是肯定存在当前未被回收情况。 补充知识点二Mysql内存管理模块 MySQL的内存分配使用了系统glibc而glibc本身的内存分配算法存在缺陷导致内存释放不完全产生内存碎片。可以通过gdb命令手动回收内存碎片 gdb --batch --pid ‘pidof mysqld’–ex ‘call malloc_trim(0)’ 但是在生产环境这个操作应该谨慎使用。 此外将MySQL的内存分配机制修改为jemalloc可以更好的释放内存。关于glibc和jemalloc机制对MySQL数据库内存回收的影响可以参考这篇文章https://mp.weixin.qq.com/s/iUvi0xPtKng08fNu_5VWDg 六、问题总结和解决思路 总结一下MySQL内存使用率高且不释放的应对方法 继续加大内存如果参数调无可调时选择修改减小innodb_buffer_pool_size参数牺牲一定innodb性能排查消耗内存的慢SQL及时优化检查相关session参数是否设置合理比如join_buffer_size、query_cache_size是否设置过大使用gdb回收内存碎片生产环境谨慎操作gdb --batch --pid ‘pidof mysqld’–ex ‘call malloc_trim(0)’对MySQL进程配置jemalloc内存管理模块配置读写分离将读操作应用到从库减少对主库的影响
http://www.hkea.cn/news/14525037/

相关文章:

  • 网站建设大作业常见网站架构
  • 苏州网站设计网站开发公司网站上线
  • 南宁网站建设专家长沙近期大型招聘会
  • 网站建设预算计算方法WordPress域名后问号英文
  • 网站模板视频教程广州企业黄页大全
  • 网站开发行业发展有没有建网站的app
  • 沂源放心企业网站建设方案报价html网站实例
  • 建设网站需要做什么买汽车最好的网站建设
  • 网站如何更换图片vs做网站加背景
  • 烟台网站建设托管南宁新站seo
  • 网站 营销型自建网站赚钱
  • 网站备案照片背景哪个网站上做ppt比较好
  • 免费建网站哪家好江苏水利厅建设网站
  • 苏州做公司邮箱企业网站网站开发培训课程表
  • 深圳市建设工程交易服务网站wordpress哪个模板好用吗
  • 重启wordpress怎么 给自己的网站做优化呢
  • 温州网站排名优化公司口碑好的专业网站建设
  • 怎么自己做网站链接苏州 网站的公司
  • 大型集团网站建设铜铜铜铜铜铜铜铜好大好深色
  • 网站目录扫描辽宁建设工程
  • 手机网站制作视频教程网站制作模板图片
  • 哪些行业没有做网站如何建立自己的小程序
  • 网站制作一个人可以做吗wordpress整站主题
  • 网站类网站开发源代码网络营销策划书1500字
  • 自己的卡盟网站怎么做分站房产怎么创建网站
  • xuzhou网站制作怎么做免费网站如何让百度收录
  • 平安建设宣传音频免费下载网站临沂沂河新区
  • 请简述网站制作流程南漳网站制作
  • 制作网站单页图片怎么制作
  • 郴州网站建设找哪家公司织梦网站优化