分类: Mysql/postgreSQL
2008-05-11 17:56:31
错误日志:
[/var/lib/mysql]# cat myserver.net.err |grep 080510|more
080510 3:21:01 [ERROR] /usr/sbin/mysqld: Out of memory (Needed 1048583 bytes)
080510 3:21:01 [ERROR] /usr/sbin/mysqld: Out of memory (Needed 1048583 bytes)
080510 3:21:02 [ERROR] /usr/sbin/mysqld: Out of memory (Needed 1048583 bytes)
原因分析:
1.配置文件把各种设置调得较大,mysql向系统要内存,却得不到。
实际上:
| join_buffer_size | 131072 |
| key_buffer_size | 536870912 |
| net_buffer_length | 1048576 |
| read_buffer_size | 1044480 |
| read_rnd_buffer_size | 262144 |
| sort_buffer_size | 2097144
| tmp_table_size | 67108864 |
当前连接线程有120个,则占用内存最多为:
120*(1M+2M+12K+24K)+512M+64M=940M
服务器内存=4GB
2. 查询返回结果集太多:
http://dev.mysql.com/doc/refman/5.0/en/out-of-memory.html
但于当前情况不符。
3. SQL语句不合理造成。
(可参考)