访问数据库就是出现out of memory错误,查看etc/my.cnf文件,发现tmp_table_size=256M,分配给内部临时表的内存太小了,我将它提高到512M。
访问数据库就是出现out of memory错误,查看etc/my.cnf文件,发现tmp_table_size=256M,分配给内部临时表的内存太小了,我将它提高到512M。
默认为16M,可调到64-256最佳,线程独占,太大可能内存不够I/O堵塞
如果动态页面要调大点,100M以上,如果网站大部分都是静态内容,一般64M足够
我们的mysql这两个参数为:
mysql> show global status like ‘created_tmp%‘;
tmp_table_size 33554432 (33.5M)
max_heap_table_size 16777216 (16.7M)
mysql的内存表的大小在my.cnf文件中有定义,需要通过修改配置来修改临时表的大小限制:
[mysqld]
内存表容量
max_heap_table_size=1024M
临时表容量
tmp_table_size=1024M
在mysql配置文件的mysqld节点下,max_heap_table_size指定的是内存表的最大内存,而tmp_table_size指定的是临时表的最大大小。
网友评论