ImageMagick内存占用过高被杀掉

举报
彭世瑜 发表于 2021/08/13 23:16:14 2021/08/13
【摘要】 执行命令 # convert -density 300 -quality 100 test.pdf out.png 已杀死 123 很郁闷 解决方式一 重新重新编译ImageMagick最新版,增加参数: –disable-openmp, 不使用多线程 查看版本 $ convert -version Features:openMP 12 在页面查找下载地...

执行命令

# convert -density 300 -quality 100 test.pdf out.png

已杀死

  
 
  • 1
  • 2
  • 3

很郁闷

解决方式一

重新重新编译ImageMagick最新版,增加参数: –disable-openmp, 不使用多线程

查看版本

$ convert -version
Features:openMP

  
 
  • 1
  • 2

在页面查找下载地址:
https://www.imagemagick.org/script/install-source.php

我下载是版本是:ImageMagick-7.0.8-24

安装步骤

# Linux源码下载
wget https://imagemagick.org/download/ImageMagick.tar.gz

# 解压
tar -xvzf ImageMagick.tar.gz

# 新建安装文件路径
mkdir ImageMagick-7.0.8

# 进入源码
cd ImageMagick-7.0.8-24

# 设置
./configure  --prefix=/home/ImageMagick-7.0.8 --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-openmp

# 编译安装
make & make install

# 添加软链接
ln -s /home/ImageMagick-7.0.8/bin/convert /usr/bin/convert


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

再次查看版本

# convert -version

Version: ImageMagick 7.0.8-23 Q16 x86_64 2019-01-07 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI
Delegates (built-in): jng jpeg lzma png xml zlib

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

不过好像没啥用,还是会出现已杀死的提示

参考:
ImageMagick 解决多线程(openMP)运行时导致CPU暴增到100%的方法

解决方式二

设置运行参数

# convert -limit memory 2mb -limit map 2mb -density 300 -quality 100 test.pdf out.png


  
 
  • 1
  • 2

这个方式基本可以解决问题,缺点就是速度较慢,和原先比较耗时*3

参考:
https://github.com/ImageMagick/ImageMagick/issues/327

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/86017720

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。