"
max_connections=100
这是my.ini中配置影响MySQL最大连接数. 假如不设置, 默认似乎是100
win本地单机测试, 无任何mysql连接, 使用与操作. 在设置10000时, 启动MySQL就占用2GB内存.
在设置1000000时, 直接死机(切勿测试这个值,不然...),
现在问题是, 为什么根本没有连接的mysql配置, 也会让内存暴涨?
" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/7b1b2ecf7f0142da8034d9b1541b32d7.png)"正常,Ubuntu上也是这样的,我在MySQL 5.6(Percona Server)上测试过, <a target=""_blank"" href=""http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_max_connections"" rel=""nofollow""> max_connections 的默认值是151(我这里的内存占用为63MB),最大值为16384(我这里的内存占用为1277MB)。
######<div class=""ref"">
感觉这是MySQL的bug.
用户设置成10万, 就直接死机, 然后就再也无法启动了..
######感觉这是MySQL的bug.
用户设置成10万, 就直接死机, 然后就再也无法启动了..
你配置了线程数就是要求mysql在启动的时候直接创建这么多个实际线程在线程池中等待连接请求提供服务.虽然它们大多数时间是空闲的, 但是就算不服务也占用内存,所以肯定会内存暴涨.mysql虽然支持很多的连接但是实际上是有上限的, 这也是mysql DBA存在的价值.
######回复 @ZeroOne : 看描述, 用户会认为可以设置很大. 结果一设置, 就无法开机了..######回复 @Tuesday : mysql自己没有做限制, 但是机器的硬件条件不是无限的... 而且我觉得对于一个合理的应用来说, 线程不能开的太多, 500就差不多了.######完全没看到上限... 听说是1万6左右. 可我设置成1万, 内存就占2GB, 3万就占了6GB,说明它这3万还是生效了.." ![image.png](https://ucc.alicdn.com/pic/developer-ecology/61e658f3d6e54fa2a88c9b48d015c43d.png)版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。