MYSQL,innodb_buffer_pool_size内存分配
为MYSQL。innodb_buffer_pool_size=8G。MySQL一起动就会将占用掉8G内存(觉得TOP能够看到内存被使用了8G),可是近期才细致研究一下。原来不是这种(可能自己对Linux malloc内存分配也仅仅是知道了个皮毛吧)。MySQL启动时实际仅仅是在虚拟内存中分配了地址空间,而并没有真正的映射到物理内存上。
由于malloc分配内存是先在虚拟内存中分配地址的,到实际使用时才真正的映射到物理内存
因此这个地方。假设因为机器内存使用不当。到了MySQL真正要映射物理内存时。假设物理内存不足了。就会出错甚至退出。
可是这里也有个非常奇异的地方就是Linux下的OOM Killer:
假如我一个程序A已经执行,而且分配了22G内存(机器配置是物理内存16G+SWAP 8G),可是没有真正的映射到物理内存;
这时MySQL启动,innodb_buffer_pool_size=8G,启动正常。
然后程序A開始实际分配物理内存。一下子仅仅剩下2G SWAP内存了。
这时MYSQL也開始实际使用内存,由于仅仅有2G SWAP,所以性能非常差。再超过2G时,内存耗尽,这时OOM Killer開始杀进程,怎么杀呢,谁占用内存多杀谁,于是将进程A杀掉了,内存一下子回来了,MySQL不会退出;
可是一般系统中MySQL都是分配内存最大的,所以常常性的是MySQL被杀掉。
Linux OOM Killer可參见:理解和配置 Linux 在下面 OOM Killer
版权声明:本文博主原创文章,博客,未经同意不得转载。
MYSQL,innodb_buffer_pool_size内存分配的更多相关文章
- mysql中内存的使用与分配
mysql的内存分配,是调优的重中之重,所以必须搞清楚内存是怎么分配的 mysql> show global variables like '%buffer%'; +-------------- ...
- MySQL中内存分为全局内存和线程内存
首先我们来看一个公式,MySQL中内存分为全局内存和线程内存两大部分(其实并不全部,只是影响比较大的 部分): 复制代码 代码如下: per_thread_buffers=(read_buffer_s ...
- Mysql占用内存过高的优化过程
一.环境说明: 操作系统:CentOS 6.5 x86_64 数据库:Mysql 5.6.22 服务器:阿里云VPS,32G Mem,0 swap 二.问题情况: 1.某日发现公司线上系统的Mysql ...
- MySQL将内存用在了哪里
本片文章参考官网讲述MySQL是如何分配内部内存,同时涉及到如何合适设的置内存分配以及如何监控内存的使用情况 官方文档 MySQL在启动时默认被分配给512MB RAM,可以通过设置相关内存参数对其进 ...
- 记一次Mysql占用内存过高的优化过程
一.环境说明: 操作系统:CentOS 6.5 x86_64 数据库:Mysql 5.6.22 服务器:阿里云VPS,32G Mem,0 swap 二.问题情况: 1.某日发现公司线上系统的Mysql ...
- mysql大内存高性能优化方案
mysql优化是一个相对来说比较重要的事情了,特别像对mysql读写比较多的网站就显得非常重要了,下面我们来介绍mysql大内存高性能优化方案 8G内存下MySQL的优化 按照下面的设置试试看:key ...
- RAMCloud:内存云存储的内存分配机制
现在全闪存阵列已经见怪不怪了,EMC的XtremIO,还有VNX-F(Rockies),IBM FlashSystem.全闪存真正为效率而生,重新定义存储速度.凭借极致性能,高可用性,为您极大提高企业 ...
- MySQL InnoDB内存压力判断以及存在的疑问
本文出处:http://www.cnblogs.com/wy123/p/7259866.html(保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误 ...
- MySQL Memory--内存分配相关参数
Seesion级的内存分配: max_threads(当前活跃连接数)* ( read_buffer_size(顺序读缓冲,提高顺序读效率) + read_rnd_buffer_size(随机读缓冲, ...
随机推荐
- UITableView性能优化及手工绘制UITableViewCell
提高表视图的性能 UITableView作为应用中最常用的视图,它的性能优化问题几乎是经常提及.下面对在非网络访问情况下的表视图性能优化进行了主要的几点说明: 1.自定义类或XIB文件时 在系统提供的 ...
- C#整理
输入输出--数据类型--变量与常量--运算符表达式--语句(顺序.分支.循环)--数组--函数--结构体一.输入与输出.Console.ReadLine();Console.WriteLine();C ...
- TestComplete实测Flex
1.TestComplete提供了已经编译好的Flex界面,可以直接使用: http://support.smartbear.com/samples/testcomplete9/flex/orders ...
- SICP 习题 (2.6) 解题总结:丘奇计数
SICP 习题 2.6 讲的是丘奇计数,是习题2.4 和 2.5的延续. 这里大师们想提醒我们思考的是"数"究竟是什么,在计算机系统里能够怎样实现"数".准备好 ...
- hibernate 在tomcat7.X 下配置mysql数据源
先说一点题外话,LZ近期学习java web. 今天刚看到hibernate,发如今hibernate配置数据源时网上的资料都太久远了,一般以tomcat 5 版本号下的配置居多.而tomcat 7下 ...
- hdu 1251 统计难题 (map水过)
# include <stdio.h> # include <algorithm> # include <string> # include <map> ...
- linux中怎样设置DHCP
linux怎样设置DHCP 环境:RH linux 9.0 使用linux下经常使用的dhcpd包. 最新版本号 dhcp3.0.5 下载地址: 下载 1.安装: 先拷贝dhcp-3.0.5.tar. ...
- 云计算分布式大数据神器Spark实战高手之旅
从2012年1月份研究Spark到如今已经两年多的时间了. 在这两年多的时间里比較彻底的研究了Spark的源码并已经在2014年4月24日编写完毕了世界上第一本Spark书籍. 鉴于CSDN在大陆IT ...
- Unity MVC框架 StrangeIoC
StrangeIoC是一个超轻量级和高度可扩展的控制反转(IoC)框架,专门为C#和Unity编写. 项目地址:https://github.com/strangeioc/strangeioc 文档地 ...
- SetCookies, cookie规范注册表和cookie存储将会优先于设置在HTTP客户端级别中默认的那些
遇到下面问题解决方法: Hey? 404 抱歉,你输入的网址可能不正确,或者该网页不存在. 7 秒后返回首页 使用独立的本地执行上下文来实现对每个用户(或每个线程)状态的管理. 定义在本地内容中的co ...