mysql的内存应该如何分配,,我的机器访问量一大 就内存溢出。。
我用的是mysql5.0.51a 不需要编译,直接解压就能用的.机器试8cpu 16GB的内存.数据库用的engine是MyISAM。所以我在my.cnf 里面key_buffer 给了4096M.但是访问量一大就会造成内存溢出。mysql连接不上.我把我的my.cnf贴出来.哪位高手帮我看看 我的配置 那里需要改进.
key_buffer = 4096M
max_allowed_packet = 16M
table_cache = 1024
sort_buffer_size = 32M
read_buffer_size = 32M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 256M
thread_cache_size = 32
query_cache_size = 256M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
yejr
周三, 2008/07/09 - 10:23
Permalink
key_buffer_size
key_buffer_size 上限就是4G,当然最好不要设这么大; 或者,可以把myisam转成innodb,innod的buffer就没这限制了。你的os是32位还是64位的?
MySQL方案、培训、支持
咕叽咕叽
周三, 2008/07/09 - 17:28
Permalink
OS是32位的,不过打了
OS是32位的,不过打了支持大于4gb的内核补丁.这个mysql的内存分配是不是又自己一套算法啊。怎么样合理分配才能使我的mysql性能发挥到最大,又不至于内存溢出呢. 把连接数调小 会不会影响访问呢.还望大侠赐教..
yejr
周三, 2008/07/09 - 17:59
Permalink
key buffer size
key buffer size 上限4G是硬限制,和os无关。
具体要怎么调只能对线上服务器进行跟踪分析,然后主键修改部分参数,没有固定值。
MySQL方案、培训、支持
咕叽咕叽
周三, 2008/07/09 - 18:01
Permalink
那请问大侠,该如何
那请问大侠,该如何跟踪分析呢?又什么好的工具 或者办法吗?介绍下 不胜感激~~
wmysql (未验证)
周四, 2008/07/10 - 23:14
Permalink
mysql5.0.51a
mysql5.0.51a 这个版本是不有问题我的也出现同样的问题,我的主要是跑discuz论坛有6G的数据,经常出现mysql进程死掉的情况,必需kill掉进程才能重启mysql ,请大侠支招。
yejr
周五, 2008/07/11 - 08:34
Permalink
加入本站的群先。 M
加入本站的群先。
MySQL方案、培训、支持
wmysql (未验证)
周五, 2008/07/18 - 22:05
Permalink
如何加入群啊,群号
如何加入群啊,群号是多少?
ramboo (未验证)
周二, 2009/07/07 - 12:01
Permalink
尝试把你的sort_buffer_si
尝试把你的sort_buffer_size调整小一些看看。我自己最近的优化经验,这个值太大,然后程序的排序多的话,会经常造成内存不够用。