mysql的内存使用
2016-01-31 16:34 abce 阅读(312) 评论(0) 编辑 收藏 举报Mysql Server Memory Usage = Sum of Global Buffers + (number of Connection * Per thread memory variables)
global buffers包含:
-key_buffer_size: MyISAM表索引高速缓冲,提高MyISAM表索引读写效率。 -innodb_buffer_pool_size: Innodb的高速缓冲,单位是bytes。缓冲行数据、索引数据,以及事务锁、自适应哈希等。 -innodb_additional_mem_pool: Innodb额外内存池,单位是bytes。存放数据字典信息和其它内部数据结构信息 -innodb_log_buffer_size: Innodb日志缓冲,单位是bytes。存放Innodb日志信息,提高redo日志写入效率 -query_cache_size: 查询高速缓存,缓存查询结果,提高反复查询返回效率。 -table_cache: 表空间文件描述符缓存,提高数据表打开效率 -table_definition_cache: 表定义文件描述符缓存,提高数据表打开效率
每个thread使用的thread buffer:
-thread_stack: 线程堆栈,暂时寄存SQL语句/存储过程 -net_buffer_length: 线程池连接缓冲以及读取的结果缓冲。连接池缓冲和结果缓冲的最小值就是net_buffer_length的值,但是会动态增长,最大不会超过max_allowed_packet指定的值。 -read_buffer_size: 顺序读缓冲,提高顺序读效率 -read_rnd_buffer_size: 随机读缓冲,提高随机读效率 -join_buffer_size: 表连接缓冲,提高表连接效率 -binlog_cache_size: 二进制日志缓冲,提高二进制日志写入效率 -thread_cache_size: 线程缓存,降低多次反复打开线程开销 -bulk_insert_buffer_size: MyISAM表批量写入数据缓冲 -sort_buffer_size: 排序缓冲,提高排序效率 -tmp_table_size: 内存临时表,提高临时表存储效率