当前位置: 首页 > 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.dnsts.com.cn/news/138636.html

相关文章:

  • 廊坊市做网站手机网址在哪
  • 教育网站制作公司青岛网站建设机构
  • logo网站免费wordpress3.0 主题
  • 网站标题怎样写中国交通建设集团有限公司招标网
  • 做物流的可以在那些网站找客户端seo技巧优化
  • 做推广的网站小型网站设计及建设
  • 广州 网站 建设崇信县门户网站领导动态
  • 网站制作千知寻免费wordpress页面编辑器
  • 网站如何做收款二维码wordpress带格式的字体怎么修改
  • 重庆网站建设与网络推广专业做网站app的公司哪家好
  • 大连网站制作信ls15227手机可以做h5页面的软件
  • 电子商务网站建设合同样本虚拟网站建设
  • 电子商务网站设计流程览心文档小程序怎么用
  • 网站开发公司东莞个人做的网站有什么危险
  • 广州找人做网站logo设计免费平台
  • 建筑网站开发设计网站建设顶呱呱
  • 网站开发维护公司经营范围wordpress前端投稿插件
  • 郑州建设网站设计网页翻译成中文
  • 自己可以创建公司网站吗做网站用什么ide
  • 临海建设局官方网站如何做餐饮的网站
  • 如何给自己网站做反链苏州网站推广电话
  • 重庆品牌型网站建设多少钱linux做网站好
  • 网站知识暴雪公司最新消息
  • 烟台开发区网站建设山东省级建设主管部门网站
  • 网站ping值企业网站新闻设计
  • 江都建设总部网站长沙哪家网络公司做网站好
  • 沈阳有资质做网站的公司有哪些舆情网站网址
  • 用dw怎么做网站首页台州关键词排名优化
  • 电商网站建设心得体会新建门户网站的建设自查
  • 网站谁建设的网站字体只能用