我运行的Percona集群5.6(mysql 5.6)的innodb缓冲池允许有128G内存。
但是,工作台显示只使用了14%。
谁能让我知道为什么缓冲池使用率如此之低?
提前致谢!
这是我的innodb设置
innodb_stats_sample_pages=142
innodb_stats_persistent_sample_pages=142
innodb_stats_transient_sample_pages=142
innodb_open_files=4000
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 128G
innodb_buffer_pool_instances = 8
innodb_data_file_path = ibdata1:10M:autoextend
innodb_write_io_threads = 32
innodb_read_io_threads = 32
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size =256M
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_buffer_pool_load_at_startup = ON
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
query_cache_type = 0
最佳答案
情况1:您的数据库(数据+索引)小于18GB。执行SHOW TABLE STATUS
(或更复杂的查询,涉及information_schema
)以找出“ Data_length”和“ Index_length”(忽略“ Data_free”)。
情况2:您的数据大于18GB,但“工作集”小于18GB。
无论哪种情况,都不必担心。
但是...您有多少RAM?那128G需要小于RAM。也许不超过RAM的80%。
您可以添加SHOW GLOBAL STATUS LIKE 'Innodb%';