MYSQL 默认 RAM 消耗
MYSQL default RAM consumption
我有一个 32GB RAM MYSQL 服务器。它仍然是全新的,除了默认数据库外没有附加数据库。但是,当我 运行 free -m
命令时,我得到以下信息:
total used free shared buff/cache available
Mem: 32768 2972 29718 10 76 29692
Swap: 16384 0 16384
当我联系主机时,他们告诉我 MYSQL 默认占用主内存的 10%,他们建议我配置以下参数:
key_buffer_size = 8192M
myisam_sort_buffer_size = 10922M
innodb_buffer_pool_size = 16384M
我认为这些值代表可以分配的最大消耗,而不是默认消耗的值,它们是 MYSQL 的推荐值。例如 8192M / 32768M(总内存)= 25%,这是推荐值。谁能解释一下这种内存消耗?
Those values I think represent the maximum consumption that could be allocated not what's consumed by default
整个 InnoDB 缓冲池是在服务器启动时分配的,因此减小 innodb_buffer_pool_size
的大小将减少 MySQL 使用的初始内存占用量。
我相信其他 MySQL 缓冲区也是如此,例如 key_buffer_size
和 myisam_sort_buffer_size
。
但是,您在调整这些参数时应该考虑实际的服务器工作负载。启动时使用的内存量无关紧要;有趣的是当服务器与真实数据库一起使用时内存使用情况如何。
由于您(在其他地方)提到您正在使用 Jelastic,如果您想手动删除 my.cnf
中的 #Jelastic autoconfiguration mark.
行(通常是 at/near 行 1)调整这些设置;否则它们会自动缩放以适应您的 cloudlet 缩放限制(即每次您调整 cloudlet 限制或重新启动时您的更改将被覆盖 MySQL)。
key_buffer_size
key_buffer_size 变量的最大大小在 32 位机器上为 4 GB,在 64 位机器上更大。 MySQL 建议您保持 key_buffer_size 小于或等于计算机 RAM 的 25%。
innodb_buffer_pool_size
推荐范围:60~80%
MySQL 5.7 and it’s online buffer pool resize feature 应该使这条原则更容易遵循。
我有一个 32GB RAM MYSQL 服务器。它仍然是全新的,除了默认数据库外没有附加数据库。但是,当我 运行 free -m
命令时,我得到以下信息:
total used free shared buff/cache available
Mem: 32768 2972 29718 10 76 29692
Swap: 16384 0 16384
当我联系主机时,他们告诉我 MYSQL 默认占用主内存的 10%,他们建议我配置以下参数:
key_buffer_size = 8192M
myisam_sort_buffer_size = 10922M
innodb_buffer_pool_size = 16384M
我认为这些值代表可以分配的最大消耗,而不是默认消耗的值,它们是 MYSQL 的推荐值。例如 8192M / 32768M(总内存)= 25%,这是推荐值。谁能解释一下这种内存消耗?
Those values I think represent the maximum consumption that could be allocated not what's consumed by default
整个 InnoDB 缓冲池是在服务器启动时分配的,因此减小 innodb_buffer_pool_size
的大小将减少 MySQL 使用的初始内存占用量。
我相信其他 MySQL 缓冲区也是如此,例如 key_buffer_size
和 myisam_sort_buffer_size
。
但是,您在调整这些参数时应该考虑实际的服务器工作负载。启动时使用的内存量无关紧要;有趣的是当服务器与真实数据库一起使用时内存使用情况如何。
由于您(在其他地方)提到您正在使用 Jelastic,如果您想手动删除 my.cnf
中的 #Jelastic autoconfiguration mark.
行(通常是 at/near 行 1)调整这些设置;否则它们会自动缩放以适应您的 cloudlet 缩放限制(即每次您调整 cloudlet 限制或重新启动时您的更改将被覆盖 MySQL)。
key_buffer_size
key_buffer_size 变量的最大大小在 32 位机器上为 4 GB,在 64 位机器上更大。 MySQL 建议您保持 key_buffer_size 小于或等于计算机 RAM 的 25%。
innodb_buffer_pool_size
推荐范围:60~80%
MySQL 5.7 and it’s online buffer pool resize feature 应该使这条原则更容易遵循。