mysql占多少内存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql占多少内存相关的知识,希望对你有一定的参考价值。

mysql占多少内存 占了600MB的内存 算不算正常呢

MySQL 自身内存规划

说到 MySQL 自身的内存规划,最先想到的就是 MySQL 中各种 buffer 的大小,innodb buffer pool 就是最鹤立鸡群的那个。innodb_buffer_pool_size 参数的大小究竟如何设置,才能保证 MySQL 的性能呢?在官网文档中可以找到这个参数的一些描述:

A larger buffer pool requires less disk I/O to access the same table data more than once. On a dedicated database server, you might set the buffer pool size to 80% of the machine's physical memory size.

意思是在专用数据库服务器上,可以将 innodb_buffer_pool_size 设置为计算机物理内存大小的 80%。在许许多多前辈的的经验中了解到,此参数的值设置为物理内存的 50%~80% 颇为合理。

举个栗子:

innodb buffer pool 分配 76G,每个连接线程最大可用 160M,最大有 3000 连接数,最大可能使用内存总量 545G,但是这台实例所在服务器的物理内存仅仅有 97G,远超物理内存总量。结果可想而知,这个实例在运行中经常被 oom-killer 杀死,想必原因之一即是因为一开始 MySQL 自身的内存规划欠妥。

innodb buffer pool 缓存数据的作用相信大家都懂,比如这个 case 中,可以发现该实例为写密集,读请求很少,innodb buffer 对性能改善作用不大,80% 的内存没必要,完全可以降低到物理内存的50%。

参考技术A 还暂用了一些虚拟内存,MYSQL的配置文件(MY.INI或者MY.CNF或者命令行参数)可以指定用多少缓冲区等参数,用这些参数可以控制MYSQL占用多少内存。 操作系统有很高的智能性,对于应用程序分配的内存,没有经常使用的那部分就保留到磁盘里面,把真实内存留给频繁访问的内存区域,所以你也不用太担心,遇到性能问题的再考虑优化。我回答的很辛苦的。可以选择,2011/9/26 14:55:09

以上是关于mysql占多少内存的主要内容,如果未能解决你的问题,请参考以下文章

C语言中如何计算一个数组占内存多少空间

C语言中如何计算一个数组占内存多少空间?

C语言中如何计算一个数组占内存多少空间

一个string字符串占多少内存空间

VS2015安装后占多少内存?是安装啥版本的好?

科普 | 机器学习代码占多少内存?