0

我们在已移动到运行 Cloud Linux 的服务器上的站点上使用旧版本的 TinyMCE (MoxieCode) 的 ImageManager。

不幸的是,我们的主机没有通知我们每个帐户有 1,048,576 KB 的硬虚拟内存限制,这在以前的服务器上不存在。

这听起来很多,但 ImageManager 现在随机产生内部服务器错误 500,并且每六个缩略图中只有一个随机选择成功加载。

在服务器错误日志中,我发现以下消息非常频繁地重复出现,再次随机出现在不同文件夹中的不同 index.php 中,主要在图像管理器/流文件夹中,但也在语言文件夹、js 文件夹和 rpc 文件夹中:

无法分配内存:无法创建子进程:/opt/suphp/sbin/suphp

你瞧,如果我刷新当前正在刷新 ImageManager 的网站的 CPanel 页面,我可以看到虚拟内存使用量已达到 1,048,576 KB。(通常它远低于其中的 10%。)

我有点困惑为什么加载一个主题、一些样式表、一个语言包和六个缩略图会需要这么多的内存。

特别是我从 phpinfo 中可以看到 output_buffering 设置为 0,并且在 ImageManager 代码中的任何地方都没有调用 ob_start。

我想也许缩略图每次都是从头开始创建的,而不是从 mcith 文件夹中加载的,但事实并非如此,从缩略图文件上的日期可以看出。

事实上,如果我删除缩略图,事情就会完全挂起(thumbnail.auto_generate 设置为 true)。

当然,我们可以升级到我们在其他网站上使用过的最新的 ImageManager(现在称为 MoxieManager),并且工作正常,但是由于用户界面和会话身份验证发生了重大变化,这将涉及大量工作,包括编码并重新培训并不真正想要升级的客户。

如果有人对如何解决这个问题有任何想法,将不胜感激。

4

1 回答 1

0

您能做的最好的事情是在 ImageManager 的源代码中在每一行之后使用以下语句,这看起来会占用您的内存

error_log("current memory usage: ".memory_get_usage()." on line: ".__LINE__);

一旦你找到了有问题的线路,你就可以开始寻找替代品

于 2013-08-01T10:01:08.677 回答