如何减少映像 GD 中的内存使用量或加快释放内存的过程


how to reduce memory usage in image gd or speed up the process to deallocate memory faster

我有一个图像GD脚本,目前使用大约9MB的内存。我得到了很多流量,因此有时它会占用我服务器上的大量 RAM。

有没有办法减少图像 gd 的内存使用量?或者至少使脚本处理更快,以便更快地取消分配它正在使用的内存。

我尝试更改图像质量,但没有效果。我还尝试更改图像像素大小,它减少了内存使用量,但并不多。

谢谢。

不看代码就不可能分辨,但除非它包含任何重大错误,否则答案可能是否定的。

你可以做的是使用外部imagemagick二进制文件——它运行在 PHP 的脚本内存限制之外——但这是一种完全不同的技术,需要你重写代码。

我假设您已经在缓存GD的结果,所以不是每个请求都会导致它运行吗?

如果您担心内存限制,请尝试避免即时使用图像 GD。如果不看到代码就很难解决问题,但我可以提出一个建议。

让不同的进程处理图像,例如,如果要调整图像大小,请不要在每次用户访问页面时都调整它们的大小,而是运行 cron 或带窗口的计划程序来调整所有需要定期调整大小的图像并保存它们。 所以开销会更少。

如果你提供更多的代码,你会得到更好的帮助