php-imagick漏洞,PHP Imagick内存泄漏
imagick使用共享库,它的内存使用对于PHP来说是遥不可及的,因此调整PHP内存和垃圾收集无济于事.
我自己也有同样的问题,试图用50(!)页3000×2000像素来处理多页tiff图像.
解决方案是让想象力将其像素缓存放在磁盘上.
在创建Imagick对象之前添加它解决了我的问题:
// pixel cache max size
IMagick::setResourceLimit(imagick::RESOURCETYPE_MEMORY, 256);
// maximum amount of memory map to allocate for the pixel cache
IMagick::setResourceLimit(imagick::RESOURCETYPE_MAP, 256);
目标是让imagick将其像素缓存放在磁盘而不是RAM中.默认位置似乎是files / tmp / magick-XXnnnnn,因此请确保/ tmp不在shmfs / ramdisk上,或更改imagick使用的临时目录.
调查的其他资源限制:imagick :: RESOURCETYPE_DISK,imagick :: RESOURCETYPE_FILE和imagick :: RESOURCETYPE_AREA.
它们在imagick::getResourceLimit() manual page中描述(在setResourceLimit()的页面中不太好).
在我的图像处理循环中,我有set_time_limit(300),因为脚本需要很长时间来处理这个巨大的(当解压缩时)图像.
编辑:在最近的版本中,setResourceLimit()不应该作为静态方法调用,而应该在实际对象上调用,例如:
$im->setResourceLimit(imagick::RESOURCETYPE_MEMORY, 256);
$im->setResourceLimit(imagick::RESOURCETYPE_MAP, 256);
$im->setResourceLimit(imagick::RESOURCETYPE_AREA, 1512);
$im->setResourceLimit(imagick::RESOURCETYPE_FILE, 768);
$im->setResourceLimit(imagick::RESOURCETYPE_DISK, -1);
php-imagick漏洞,PHP Imagick内存泄漏相关推荐
- java dwr 漏洞_Java DWR内存泄漏问题解决方案
机器跑了一晚上,发现有崩溃现象,由于页面内有动态绘图功能,我怀疑是绘图原因,但是今天上午有人提醒我才想到,是不是间隔调用时DWR产生了内存泄漏问题? 网上查了一下貌似大家都在讨论这个问题,之前我也挺老 ...
- 避免内存泄漏 - C++快速入门38
避免内存泄漏 让编程改变世界 Change the world by program 避免内存泄漏 这个话题就像古时候女人的裹脚布,又长又臭哈~ 前面我们讲过,分配了一个内存块但忘记了释放它,这是一种 ...
- Android App解决卡顿慢之内存抖动及内存泄漏(发现和定位)
内存抖动是指在短时间内有大量的对象被创建或者被回收的现象,内存抖动出现原因主要是频繁(很重要)在循环里创建对象(导致大量对象在短时间内被创建,由于新对象是要占用内存空间的而且是频繁,如果一次或者两次在 ...
- android内存泄漏原因分析,Android Studio3.6的内存泄漏检测功能 VS LeakCanary
2020年2月,谷歌发布了Android Studio 3.6版.它包括一个新的"内存泄漏检测"功能.这是否意味着我们不再需要流行的内存泄漏检测库"Leak Canary ...
- 什么是堆,栈,内存泄漏和内存溢出?
heap:是由malloc之类函数分配的空间所在地.地址是由低向高增长的. stack:是自动分配变量,以及函数调用的时候所使用的一些空间.地址是由高向低减少的. 一.预备知识-程序的内存分配 一个由 ...
- java内存泄漏案例_寻找内存泄漏:一个案例研究
java内存泄漏案例 一周前,我被要求修复一个有内存泄漏问题的webapp. 考虑到过去两年左右的时间里我已经看到并修复了数百个泄漏,我想这有多难. 但是事实证明这是一个挑战. 12小时后,我发现该应 ...
- 监视和检测Java应用程序中的内存泄漏
因此,您的应用程序内存不足,您日夜不停地分析应用程序,以期捕获对象中的内存漏洞. 后续步骤将说明如何监视和检测您的内存泄漏,以确保您的应用程序安全. 1.怀疑内存泄漏 如果您怀疑有内存泄漏,可以使用一 ...
- 寻找内存泄漏:一个案例研究
一周前,我被要求修复一个有内存泄漏问题的webapp. 考虑到过去两年左右的时间里我已经看到并修复了数百个泄漏,我想这有多难. 但是事实证明这是一个挑战. 12小时后,我发现该应用程序中不少于5个漏洞 ...
- 内存泄漏 和 内存溢出
在计算机科学中,内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况.内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存 ...
最新文章
- 《浪潮之巅》作者吴军最新演讲:超级人工智能
- 如果某个字段值相同则触发器新增_Thrift IDL新增字段导致版本不一致引发的惨案...
- 【搜索引擎基础知识2】网络爬虫的介绍
- 数据结构:堆python实现与堆排序
- 串口调试助手 rtc 显示时间_闪电侠串口网络调试助手
- FreeRTOS任务创建和删除
- python(26)查看文件的大小
- 深入理解C# 3.x的新特性(2):Extension Method[下篇]
- Linux——VIM中代码的折叠和打开
- 第二十四章 异常和错误处理 1异常
- 有一个字长32位的浮点数符号位1位_边缘计算专题:(二)别看只有0和1,数学不好的勿进!...
- 蔚来汽车股价跌跌不休 盘中触及上市以来最低点
- 如何批量修改网页 更新网站 一键保存 windows查看和排序
- 苹果电脑更改sd卡只读_SD内存卡禁止写入只读怎么办?另类SPI模式修复坏卡
- 苹果x Android,中国发明安卓iPhoneX 安卓iPhoneX有何特别之处?
- 在python2里怎么使用ttk_关于用户界面:python 2.7中的Tkinter和ttk
- Trie——BZOJ4567/Luogu3294 [Scoi2016]背单词
- @synthesize@dynamic@private,@protected,@publicassign、weak、strong、retain、copy、nonatomic、atomic
- 2015年,我的创业记忆片段
- 双足竞走机器人的意义_基于STM32双足竞步机器人的研究与设计
热门文章
- 女神节, 数说奥斯卡女神们 : “惊艳了时光 , 温柔了岁月”
- 私库如何区分正式和测试环境独立的库
- 大数据安全战略为“互联网+”发展保驾护航
- AGX使用ZEDmini记录
- 矩阵不可逆的充分必要条件
- CentOS7安装Node及npm
- JData算法大赛-用户购买预测
- 写于京东赛(JData)----如期而至,用户购买日期预测----之后
- 拼多多、淘宝、天猫、1688、京东APP商品详情API大全
- 收到银行短信你正在使用Android设备,手机收到扣费短信,无故被扣钱?小心自动订阅的大坑!...