saber酱的抱枕

努力变强

01/10
11:18
软件

解决MySQL 5.6 内存占用过高的问题

MySQL 5.6 的内存占用偏高,安装后不改配置的话,总是占用400多MB的内存。就算你是一个小网站,只有1个数据库,也是如此。

如果不修改的话,一方面内存占用确实偏高,另一方面可能导致错误:“Windows 成功诊断出虚拟内存不足的情况”。

解决MySQL 5.6 内存占用过高的问题

虽然只是一个可能而已,不过当时我确实怀疑是MySQL的问题。这台服务器物理内存4G,报错时内存占用并没有超出,即使按“已提交”的内存量来看也没超出4G,不知为何就报错。总之我还是去修改了下。

打开my.ini(windows)或my.cnf(linux类),查找以下3个参数,把它们的的值修改为:

performance_schema_max_table_instances=600
#windows 服务器里可能没有上一句,不用管,只修改下面两个参数即可
table_definition_cache=400
table_open_cache=256

之后重启MySQL服务即可,内存占用一般不超过100M了。

ps:
windows上有两个my.ini,我们要改的是在数据库的上级目录里的,不要修改程序目录里的


昨天折腾的这个服务器是金山云,金山云挺蛋疼的是默认让你使用的是一个新建管理员账户kingsoft,而不是超级管理员账户Administrator。用这个账户操作有很多权限上的问题。

1.用编辑器新建的文件无权保存在个人文件夹之外的地方,解决办法是关闭编辑器,然后右键以管理员权限运行编辑器;
2.在运行框里输入iisreset重启iis,没任何反应,后来只好找到cmd.exe,右键以管理员权限运行,这才好使。
3.给网站文件夹添加IUSR用户权限,但是kingsoft没有权限,我死活折腾不好。

最后的解决办法就是转而使用Administrator,让kingsoft见鬼去吧。

解决MySQL 5.6 内存占用过高的问题