|
访客您好,登录后可看更多精彩内容!发帖、回复积分还可换实物奖品哦,还在犹豫什么,赶紧注册登录吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 凡尘大师 于 2015-5-25 15:07 编辑
我这里有一台云服务器(这里用的是阿里云ECS),运行着三个站点BBS、WWW、SO,一直运行正常,某天突发奇想装了个Zend OPcache,可是安装后发现BBS这个站点的PHP info可以正常显示(PHP页面可以正常打开),而其他站点的PHP info无法打开(PHP页面无法打开),一般是“500错误”或者“内部错误”。
网上各种搜索,竟然没有相关资源,这说明遇到这个问题的可能性比较小,可偏偏我就遇到了。既然网上没有相关信息,那就自己奋战吧,查了各种日志,在Windows事件查看器中找到了相关日志,事件ID 1455,如下图:
说的是“页面文件太小,无法完成操作”,可是内存使用率很低,不应该不足的。但电脑不会说谎,既然说的是页面文件太小,那就先从内存入手。由于ECS服务器只有1G内存,只好扩大虚拟内存,虚拟内存扩大后,发现原来只有一个站点的php info能打开,现在竟然有两个能打开了。继续扩大...最后三个站点都可顺利运行PHP info,顺利看到PHP的信息,包含Zend OPcache。如图虚拟内存调整:
虚拟内存毕竟是虚拟内存,远不如实际内存的速度,影响Zend OPcache使用。查看PHP info后发现Zend OPcache的内存设置的较高,如果用这个值乘以站点数量就远超实际内存使用量。问题就是出在这里!
果断决定调整Zend OPcache占用内存,按照实际内存容量除以站点数,合理分配Zend OPcache的内存,问题得到解决。这里需要修改PHP.ini配置文件,这里的 512(单位是MB)就是要修改的地方,可以修改为合理的数值,如下图:
不过如果对性能要求较高的话提升ECS内存是解决问题的根本。
|
|