其实可以叫是一个插件引起的血案,因为杀人的心都有了,事件起因是服务器http状态监控报警,说断网,一看还是真是占用资源极高,重启一下服务,当时可以,一会又不行,环境是phpstudy2014,到官网一看,有2016,一想可能就是这个版本的问题,然后升级,麻烦正式开始。
根据作者的说明,停止原来的服务,直接安装2016版,装完后,恢复数据库密码,导入站点列表,结果故障扩大,静态的不出来,动态的也不显示,然后就备份,找资料,折腾,备份,找资料,折腾,一直搞到两点,好像可以了,休息一下,大概三点左右睡着了。
六点直接醒了,然后继续,这回直接切回到IIS了,因为以前做网维时曾经吃过这个亏,当时用的是信佑,行家都知道,要发挥最大性能就要上Linux版,结果后来出故障,一直找不到,最终丢了这个客户,后来学乖了,改用Win平台的软件。同样的想法,就决定切回来。然后一直这么切到中午,以为搞定了,吃个中饭。睡一会,醒来,发现故障依旧,头都大了,想来想去,好像最近只装了一个采集DXC插件,而且还是那啥版本的,果断关闭,好了,天下安静,所有故障消失,顺带还降了一下mysql的内存占用问题。
MySQL 5.6内存占用过高解决方案
距离MySQL 5.6正式发布已经有比较长的时间了,目前Oracle官网上的最新GA版本MySQL server也为5.6。但reizhi在安装配置后却发现其内存占用居高不下,无论如何调整cache甚至禁用InnoDB都不能解决。由于VPS仅有1GB内存,在开启常用的Web服务之后,无力再为MySQL提供400MB以上的物理内存。
通过网络爬文,MySQL 5.6相比于前代GA版本性能提升显著,但默认缓存设置对于小型站点并不合理。通过修改my.ini文件中的performance_schema_max_table_instances参数,能够有效降低内存占用。
默认my.ini文件位置:C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6
修改参数:
performance_schema_max_table_instances=400 table_definition_cache=400 table_open_cache=256
保存之后重新启动MySQL服务,其内存占用即可从400MB以上降低至40MB左右。