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

渭南市住房和城乡建设局网站响应式网站微博视频教程

渭南市住房和城乡建设局网站,响应式网站微博视频教程,南京建网科技有限公司,沈阳关键词搜索排名参考文档#xff1a; https://brands.cnblogs.com/tencentcloud/p/11151 https://www.cnblogs.com/grasp/p/10306697.html MySQL如何使用内存 在MySQL中#xff0c;内存占用主要包括以下几部分#xff0c;全局共享的内存、线程独占的内存、内存分配器占用的内存#xff0… 参考文档 https://brands.cnblogs.com/tencentcloud/p/11151 https://www.cnblogs.com/grasp/p/10306697.html MySQL如何使用内存 在MySQL中内存占用主要包括以下几部分全局共享的内存、线程独占的内存、内存分配器占用的内存具体如下 全局共享 1. innodb_buffer_pool_sizeInnoDB缓冲池的大小 2. innodb_additional_mem_pool_sizeInnoDB存放数据字典和其他内部数据结构的内存大小5.7已被移除 3. innodb_log_buffer_sizeInnoDB日志缓冲的大小 4. key_buffer_sizeMyISAM缓存索引块的内存大小 5. query_cache_size查询缓冲的大小8.0已被移除 线程独占 1. thread_stack每个线程分配的堆栈大小 2. sort_buffer_size排序缓冲的大小 3. join_buffer_size连接缓冲的大小 4. read_buffer_sizeMyISAM顺序读缓冲的大小 5. read_rnd_buffer_sizeMyISAM随机读缓冲的大小、MRR缓冲的大小 6. tmp_table_size/max_heap_table_size内存临时表的大小 7. binlog_cache_size二进制日志缓冲的大小 内存分配器 在MySQL中buffer pool的内存是通过mmap()方式直接向操作系统申请分配除此之外大多数的内存管理都需要经过内存分配器。一般情况下 MySQL 使用 glibc(ptmalloc) 作为默认的内存分配器 为了实现更高效的内存管理避免频繁的内存分配与回收内存分配器会长时间占用大量内存以供内部重复使用。关于内存分配器的选择推荐使用jemalloc 可以有效解决内存碎片与提升整体性能。 因此MySQL占用内存高的原因可能包括innodb_buffer_pool_size设置过大、连接数/并发数过高、大量排序操作、内存分配器占用、以及MySQL Bug等等。 一般来说在MySQL整个运行周期内刚启动时内存上涨会比较快运行一段时间后会逐渐趋于平稳这种情况是不需要过多关注的 如果在稳定运行后出现内存突增、内存持续增长不释放的情况那就需要我们进一步分析是什么原因造成的。 三、到底是谁占用了内存 在绝大多数情况下我们是不需要花费过多精力去关注MySQL内存使用情况的但是也不能排除确实存在内存占用异常的情况这个时候我们应该如何去进行深入排查呢其实MySQL官方就提供了强大的实时监控工具——performance_schema库下的监控内存表通过这个工具 我们可以很清晰地观察到MySQL内存到底是被谁占用了、分别占用了多少。 默认情况下performance_schema只对performance_schema进行了内存开销的统计。根据你的MySQL安装代码区域可能包括performance_schema、sql、client、innodb、myisam、csv、memory、blackhole、archive、partition和其他。 查看innodb相关的内存监控是否开启默认不开启 mysql SELECT * FROM performance_schema.setup_instruments     - WHERE NAME LIKE %memory%; 复制代码 ------------------------------------------------------------------------------------------------ | NAME                                                                           | ENABLED | TIMED | ------------------------------------------------------------------------------------------------ | memory/performance_schema/mutex_instances                                      | YES     | NO    | | memory/performance_schema/rwlock_instances                                     | YES     | NO    | | memory/performance_schema/cond_instances                                       | YES     | NO    | | memory/performance_schema/file_instances                                       | YES     | NO    | | memory/performance_schema/socket_instances                                     | YES     | NO    | | memory/performance_schema/metadata_locks                                       | YES     | NO    | | memory/performance_schema/file_handle                                          | YES     | NO    | | memory/performance_schema/accounts                                             | YES     | NO    | | memory/performance_schema/events_waits_summary_by_account_by_event_name        | YES     | NO    | | memory/performance_schema/events_stages_summary_by_account_by_event_name       | YES     | NO    | | memory/performance_schema/events_statements_summary_by_account_by_event_name   | YES     | NO    | | memory/performance_schema/events_transactions_summary_by_account_by_event_name | YES     | NO    | | memory/performance_schema/memory_summary_by_account_by_event_name              | YES     | NO    | | memory/performance_schema/events_stages_summary_global_by_event_name           | YES     | NO    | | memory/performance_schema/events_statements_summary_global_by_event_name       | YES     | NO    | | memory/performance_schema/memory_summary_global_by_event_name                  | YES     | NO    | | memory/performance_schema/hosts                                                | YES     | NO    | | memory/performance_schema/events_waits_summary_by_host_by_event_name           | YES     | NO    | | memory/performance_schema/events_stages_summary_by_host_by_event_name          | YES     | NO    | | memory/performance_schema/events_statements_summary_by_host_by_event_name      | YES     | NO    | | memory/performance_schema/events_transactions_summary_by_host_by_event_name    | YES     | NO    | 复制代码 可以通过条件缩小范围 复制代码 mysql SELECT * FROM performance_schema.setup_instruments        WHERE NAME LIKE %memory/innodb%; ----------------------------------------------------------- | NAME                                      | ENABLED | TIMED | ----------------------------------------------------------- | memory/innodb/adaptive hash index         | NO      | NO    | | memory/innodb/buf_buf_pool                | NO      | NO    | | memory/innodb/dict_stats_bg_recalc_pool_t | NO      | NO    | | memory/innodb/dict_stats_index_map_t      | NO      | NO    | | memory/innodb/dict_stats_n_diff_on_level  | NO      | NO    | | memory/innodb/other                       | NO      | NO    | | memory/innodb/row_log_buf                 | NO      | NO    | | memory/innodb/row_merge_sort              | NO      | NO    | | memory/innodb/std                         | NO      | NO    | | memory/innodb/trx_sys_t::rw_trx_ids       | NO      | NO    | 对所有可能的对象进行内存监控。因此还需要做下面的设置 mysql update performance_schema.setup_instruments set enabled yes where name like memory%; Query OK, 306 rows affected (0.00 sec) Rows matched: 376  Changed: 306  Warnings: 0 但是这种在线打开内存统计的方法仅对之后新增的内存对象有效重启数据库后又会还原设置 如想要对全局生命周期中的对象进行内存统计必须在配置文件中进行设置然后重启 [mysqld] performance-schema-instrumentmemory/%COUNTED 内存监控表 在performance_schema库下提供多个维度的内存监控表具体如下 memory_summary_by_account_by_event_name账号纬度的内存监控表 memory_summary_by_host_by_event_name主机纬度的内存监控表 memory_summary_by_thread_by_event_name线程维度的内存监控表 memory_summary_by_user_by_event_name用户纬度的内存监控表 memory_summary_global_by_event_name全局纬度的内存监控表 内存监控表均包括以下关键字段 COUNT_ALLOC内存分配次数 COUNT_FREE内存回收次数 SUM_NUMBER_OF_BYTES_ALLOC内存分配大小 SUM_NUMBER_OF_BYTES_FREE内存回收大小 CURRENT_COUNT_USED当前分配的内存通过COUNT_ALLOC-COUNT_FREE计算得到 CURRENT_NUMBER_OF_BYTES_USED当前分配的内存大小通过SUM_NUMBER_OF_BYTES_ALLOC-SUM_NUMBER_OF_BYTES_FREE计算得到 LOW_COUNT_USEDCURRENT_COUNT_USED的最小值 HIGH_COUNT_USEDCURRENT_COUNT_USED的最大值 LOW_NUMBER_OF_BYTES_USEDCURRENT_NUMBER_OF_BYTES_USED的最小值 HIGH_NUMBER_OF_BYTES_USEDCURRENT_NUMBER_OF_BYTES_USED的最大值 接下来让我们看一个正常运行实例的内存使用情况具体如下 mysql select USER,HOST,EVENT_NAME,COUNT_ALLOC,COUNT_FREE,CURRENT_COUNT_USED,SUM_NUMBER_OF_BYTES_ALLOC,SUM_NUMBER_OF_BYTES_FREE,CURRENT_NUMBER_OF_BYTES_USED from performance_schema.memory_summary_by_account_by_event_name order by CURRENT_NUMBER_OF_BYTES_USED desc limit 10; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | USER | HOST | EVENT_NAME                 | COUNT_ALLOC | COUNT_FREE | CURRENT_COUNT_USED | SUM_NUMBER_OF_BYTES_ALLOC | SUM_NUMBER_OF_BYTES_FREE | CURRENT_NUMBER_OF_BYTES_USED | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | NULL | NULL | memory/innodb/buf_buf_pool |           1 |          0 |                  1 |                 137428992 |                        0 |                    137428992 | | NULL | NULL | memory/innodb/log0log      |           9 |          0 |                  9 |                  33563240 |                        0 |                     33563240 | | NULL | NULL | memory/mysys/KEY_CACHE     |           3 |          0 |                  3 |                   8390768 |                        0 |                      8390768 | | NULL | NULL | memory/innodb/hash0hash    |          47 |          6 |                 41 |                  11611464 |                  6641280 |                      4970184 | | NULL | NULL | memory/innodb/ut0pool      |           2 |          0 |                  2 |                   4194480 |                        0 |                      4194480 | | NULL | NULL | memory/innodb/os0event     |       25148 |          0 |              25148 |                   3420128 |                        0 |                      3420128 | | NULL | NULL | memory/innodb/os0file      |         159 |         19 |                140 |                   3829193 |                  1098569 |                      2730624 | | NULL | NULL | memory/innodb/buf0dblwr    |           5 |          1 |                  4 |                   2147728 |                    32792 |                      2114936 | | NULL | NULL | memory/innodb/mem0mem      |        1028 |        648 |                380 |                   1293135 |                   993830 |                       299305 | | NULL | NULL | memory/innodb/lock0lock    |          33 |          0 |                 33 |                    170968 |                        0 |                       170968 | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 10 rows in set (0.01 sec) 简单来说就是可以根据用户、主机、线程、账号、全局的维度对内存进行监控。同时库sys也就这些表做了进一步的格式化可以使得用户非常容易的观察到每个对象的内存开销 复制代码 mysql select event_name,current_alloc from sys.memory_global_by_current_bytes limit 10; -------------------------------------------------------------------------------------------- | event_name                                                                  | current_alloc | -------------------------------------------------------------------------------------------- | memory/performance_schema/events_statements_history_long                    | 13.66 MiB     | | memory/performance_schema/events_statements_history_long.sqltext            | 9.77 MiB      | | memory/performance_schema/events_statements_history_long.tokens             | 9.77 MiB      | | memory/performance_schema/events_statements_summary_by_digest.tokens        | 9.77 MiB      | | memory/performance_schema/table_handles                                     | 9.06 MiB      | | memory/performance_schema/events_statements_summary_by_thread_by_event_name | 8.67 MiB      | | memory/sql/String::value                                                    | 6.02 MiB      | | memory/performance_schema/memory_summary_by_thread_by_event_name            | 5.62 MiB      | | memory/performance_schema/events_statements_summary_by_digest               | 4.88 MiB      | | memory/sql/TABLE                                                            | 4.35 MiB      | -------------------------------------------------------------------------------------------- 可以使用sys库下的memory_global_by_current_bytes表来查询相同的底层数据该模式表显示了全局服务器内当前内存使用情况按分配类型进行细分。 复制代码 mysql SELECT * FROM sys.memory_global_by_current_bytes        WHERE event_name LIKE memory/innodb/buf_buf_pool\G *************************** 1. row ***************************        event_name: memory/innodb/buf_buf_pool     current_count: 1     current_alloc: 131.06 MiB current_avg_alloc: 131.06 MiB        high_count: 1        high_alloc: 131.06 MiB    high_avg_alloc: 131.06 Mi 四、总结 总的来说只要我们的操作系统/数据库有一个相对合理的配置(NUMA、swapiness、jemalloc、innodb_buffer_pool_size等等)大多数情况是不需要关注内存问题的如果非常不幸运地碰到内存占用异常问题可以通过官方提供的实时监控工具——内存监控表快速进行定位不过需要注意的是开启内存采集器也会带来一些问题比如额外的内存占用和性能损耗一般建议是在系统出现内存问题之后再重启实例启用并等待复现。
http://www.hkea.cn/news/14314084/

相关文章:

  • 哪个旅游网站可以做私人定制网站建设年度总结
  • 网站备案需要多久wordpress 删除作者
  • 网站流量评价有哪几方面wordpress网站数量管理插件
  • 通过ip直连打开网站要怎么做深圳房地产网站开发
  • 优质网站lnmp wordpress tp
  • 企业营销型网站案例网站建设平台讯息
  • 国外设计灵感网站cad使用视频在线观看
  • 企业网站建设需要哪些资料信息如何在大学网站做宣传
  • 罗湖商城网站设计价格智能科技网站模板
  • 做推广网络蚌埠网站优化
  • 广饶网站设计云搜索下载
  • 网站优化排名易下拉稳定网站维护 公司简介
  • 秀山网站建设公司东莞建设网首页
  • 北京网站搭建公司排名网站开发记科目
  • 设计师做网站效果图网站的层级
  • 做网站大概需要几步网站配色绿色
  • 网站制作谁家好房地产开发设计平台
  • 建设职业技术学院网站南京市高淳区城乡建设局网站
  • phpstudy2016快速搭建网站洛江区建设局网站
  • 呼和浩特装修网站电子商务网站项目预算
  • 做最最优秀的视频网站类似卡盟网站卖怎么做
  • 网站开发公司可行报告唐山快速建站公司
  • html5炫酷网站手机自媒体网站模板
  • 网站登录模板汕头市城市建设总公司网站
  • 一下成都网站建设公司排名网站制作与维护费用
  • 临清建设局网站商业空间设计书籍
  • 做网站建设工资多少wordpress精美博客主题
  • 重庆网站建设有限公司网站推广怎么推
  • 搭建博客网站科学规划网页的做法是
  • 大丰有做网站的重庆平台网站推广