Innodb分表太多或者表分区太多,会导致内存耗尽而宕机
浏览:5973次 出处信息
因为线上某个应用表分区太多,直接导致遍历表或者dump数据的时候导致内存耗尽死机。原因是Innodb的数据字典不会释放内存,会将所有表和分区的信息记录在内存当中,当表数量或者分区数到达一定数量之后(经验值:约10万张表或者10万个表分区,占用将近1G大小的内存),会导致内存耗尽。
my.cnf 配置参数: innodb_additional_mem_pool_size
查看数据字典使用多少内存:
SHOW engine innodb STATUS\\G
Dictionary memory allocated xxxxxxx
针对这种情况,Vadim提供了一个限制数据字典占用内存大小(Limiting InnoDB Data Dictionary)的补丁,用来限制数据字典占用内存的大小,采用LRU淘汰算法,只保留最新使用的表信息。
建议继续学习:
- Linux内存点滴 用户进程内存空间 (阅读:11014)
- ps - 按进程消耗内存多少排序 (阅读:10957)
- Linux Used内存到底哪里去了? (阅读:9674)
- Linux操作系统的内存使用方法详细解析 (阅读:8679)
- linux内核研究笔记(一)内存管理 – page介绍 (阅读:7941)
- 几个内存相关面试题(c/c++) (阅读:7789)
- Innodb IO优化-配置优化 (阅读:6395)
- 内存越界的概念和调试方法 (阅读:6109)
- 必看!linux系统如何查看内存使用情况 (阅读:5989)
- 如何查看Linux 硬件配置信息 (阅读:5661)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:数据不算大,备份却非常慢
后一篇:Mysql查询优化器浅析(上) >>
文章信息
- 作者:ivan 来源: MySQL实验室
- 标签: Innodb 内存
- 发布时间:2009-10-19 23:23:18
建议继续学习
近3天十大热文
- [11] 解决 ubuntu 的 /etc/hosts
- [10] 文言文白话文互转:文言文转白话文(现代文),
- [9] 用邻接表实现无向图
- [9] Http/2知识图谱
- [9] 一个 VLA (可变长度数组)的实现
- [8] 领导需要比下属更懂技术吗?
- [7] 为什么数组标号是从0开始的?
- [7] 近场通信 vs. 低功耗蓝牙:如何抉择
- [7] 新手产品经理都混哪里
- [7] arduino-蓝牙各种版本类型及费用对比