核心提示:检查mysqld配置my.conf,着重看key_buffer_size, max_heap_table_size, tmp_table_size几个参数,推荐设置key_buffer_size值为max_heap_table_size的1/4.
因为服务器内存而大富余比较多,前些天把my.conf里的好几个参数调得相当大,1G甚至2G,但并不稳定,mysqld报出过几次Out of memory (Needed xxx bytes)这样的错误,分析原因时,想到是32位linux系统上的linux不支持PAE,不能使用超过3G以上的内存,所以把改大的几个参数适当改小了点,最大也只有几百M的样子,但还是出现过几次Out of memory错误。于是网上多方查询,后来受到公式
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections
的启发,两次检查了key_buffer_size, max_heap_table_size, tmp_table_size几个参数,发现这三个值的设置是一样的,竟然都是512M!
于是改小key_buffer_size到128M,重启mysqld接下来5个小时的监测,没有再发生类似错误。
延伸阅读
- mysql中 text和blob字段类型比较区别
- MySQL/phpmyadmin问题解决手记:#2002 - 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置)
- MySQL数据库日志文件的维护方法/删除备份
- MySQL数据库查询缓存Query Cache问题详解
- mysql 值/表达式判断函数ifnull()与if() [类似ms sql server的isnull()]
- MySQL体系结构笔记
- MySQL服务器设置max_user_connections防止连接耗尽,以提高可用性
- ms sql server下unix时间戳函数unix_timestamp, from_unixtime(与mysql兼容)
- MYSQl联合查询效率分析:left join
- MySQL 5 乱码问题处理办法
- 常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN 解决方法/asp+access
- 不用“维护计划”实现mssql定期备份并压缩存档
- 安装VMWare Server 时 error 1718 与 error 2755 的解决方法
- yum依赖错误处理:清理重复的rpm包
- “常见错误 不能打开注册表关键字” 与 “Provider 错误 ’80004005′ 未指定的错误”解决手记
评论关闭。