MySQL InnoDB記憶體配置
InnoDB記憶體配置
MySQL將記憶體分配給各種快取和緩衝區,以提高資料庫操作的效能。當為InnoDB分配記憶體時,總是考慮作業系統需要的記憶體,分配給其他應用程式的記憶體,以及分配給其他MySQL緩衝區和快取的記憶體。例如,如果您使用MyISAM表,請考慮分配給鍵緩衝區的記憶體量(key_buffer_size)。
InnoDB特定的緩衝區使用以下引數配置:
.innodb_buffer_pool_size定義緩衝池的大小,緩衝池是存放InnoDB表、索引和其他輔助緩衝區快取資料的記憶體區域。緩衝池的大小對系統效能很重要,通常建議將innodb_buffer_pool_size配置為系統記憶體的50%到75%。預設的緩衝池大小是128MB。
在具有大量記憶體的系統上,可以透過將緩衝池劃分為多個緩衝池例項來提高併發性。緩衝池例項的數量由innodb_buffer_pool_instances選項控制。預設情況下,InnoDB建立一個緩衝池例項。緩衝池例項的數量可以在啟動時配置。
.innodb_log_buffer_size以位元組為單位定義InnoDB所要寫入磁碟日誌檔案中的日誌快取區大小。預設大小為16MB。大型日誌緩衝區允許執行大型事務,而不需要在事務提交之前將日誌寫入磁碟。如果有更新、插入或刪除許多行的事務,可以考慮增加日誌緩衝區的大小以節省磁碟I/O。Innodb_log_buffer_size可以在啟動時配置
警告:
在32位GNU/Linux x86上,注意不要將記憶體佔用設定得太高。glibc可能允許程式堆堵塞執行緒堆疊,這會導致伺服器崩潰。如果分配給mysqld程式的全域性和每個執行緒的緩衝區和快取的記憶體接近或超過2GB,這是一個風險。
一個類似於下面的公式,計算MySQL的全域性和每個執行緒的記憶體分配,可以用來估計MySQL的記憶體使用。您可能需要修改公式,以考慮到MySQL版本和配置中的緩衝區和快取。
innodb_buffer_pool_size+ key_buffer_size+ max_connections*(sort_buffer_size+read_buffer_size+binlog_cache_size)+ max_connections*2MB
每個執行緒使用一個堆疊(通常是2MB,但在Oracle公司提供的MySQL二進位制檔案中只有256KB),在最壞的情況下還使用sort_buffer_size +read_buffer_size的額外記憶體
在Linux上,如果核心啟用了大頁支援,InnoDB可以使用大頁為其緩衝池分配記憶體。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2886306/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 配置InnoDB的記憶體分配器MySql記憶體
- MySQL底層概述—1.InnoDB記憶體結構MySql記憶體
- MySQL探祕(三):InnoDB的記憶體結構和特性MySql記憶體
- Innodb記憶體管理解析[轉載]記憶體
- MySQL記憶體管理MySql記憶體
- MySQL查詢select語句的執行流程以及InnoDB記憶體結構MySql記憶體
- Tomcat修改記憶體配置Tomcat記憶體
- mysql最大表記憶體MySql記憶體
- MySQL 配置InnoDB清理排程MySql
- MySQL InnoDB頁面大小配置MySql
- 詳細瞭解 InnoDB 記憶體結構及其原理記憶體
- JVM記憶體引數配置JVM記憶體
- MySQL InnoDB日誌檔案配置MySql
- MySQL InnoDB Undo表空間配置MySql
- MySQL 配置InnoDB為只讀操作MySql
- MySQL 配置InnoDB變更緩衝MySql
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- 使用show engine innodb status 檢視記憶體使用情況記憶體
- 告別記憶體OOM,解決MySQL記憶體增長問題記憶體OOMMySql
- MySQL記憶體管理,記憶體分配器和作業系統MySql記憶體作業系統
- MYSQL的記憶體管理方法MySql記憶體
- MySQL入門--記憶體buffer poolMySql記憶體
- MySQL InnoDB臨時表空間配置MySql
- 從記憶體洩露、記憶體溢位和堆外記憶體,JVM優化引數配置引數記憶體洩露記憶體溢位JVM優化
- Linux 虛擬記憶體引數配置Linux記憶體
- Redis記憶體淘汰策略配置翻譯Redis記憶體
- HBase記憶體配置及JVM優化記憶體JVM優化
- 探索MYSQL開啟大頁記憶體MySql記憶體
- mysql記憶體引數分類大全MySql記憶體
- MySQL OOM 系列一 Linux記憶體分配MySqlOOMLinux記憶體
- MySQL-37:記憶體臨時表MySql記憶體
- MySQL記憶體佔用計算公式MySql記憶體公式
- MySQL 配置InnoDB的併發執行緒MySql執行緒
- MySQL整體架構與記憶體結構MySql架構記憶體
- Redis記憶體——記憶體消耗(記憶體都去哪了?)Redis記憶體
- 雲原生背景下如何配置 JVM 記憶體JVM記憶體
- [轉帖]JVM記憶體配置最佳實踐JVM記憶體
- jvm的記憶體引數配置(skycto JEEditor)JVM記憶體