【问题标题】:ImageMagick using more than 2GB of memory to convert PDF filesImageMagick 使用超过 2GB 的内存来转换 PDF 文件
【发布时间】:2013-03-01 08:41:31
【问题描述】:

ImageMagick 使用大量内存来转换 PDF 文件 - 超过 2GB。我正在使用的命令是:

convert -density 250 -resize 1280x myfile.pdf -interlace plane -strip -quality 40 -alpha flatten myfolder/myfile-%03d.jpg

如何改进?我有 1GB 的限制,否则进程会被无情地杀死。 ):

【问题讨论】:

    标签: memory resources imagemagick converter imagemagick-convert


    【解决方案1】:

    使用内存限制选项。

    此处显示的选项用法:

    http://www.imagemagick.org/script/command-line-options.php#limit

    -限制类型值

    设置像素缓存资源限制。

    选择:areadiskfilemapmemorythreadstime

    file 的值是文件数。其他限制以字节为单位。使用 SI 前缀(例如 100MB)定义内存、映射、区域和磁盘资源限制的参数。

    默认限制为 768 个文件、3GB 图像区域、1.5GiB 内存、3GiB 内存映射和 18.45EB 磁盘。如果此信息可用,这些限制将根据您计算机上的可用资源进行调整。当达到任何限制时,ImageMagick 会以某种方式失败,但会尝试采取补偿措施(如果可能)。例如,以下限制内存:

    -limit memory 32MiB -limit map 64MiB

    【讨论】:

    • 这不起作用。我收到一个错误,指出它无法分配足够的资源。
    • 这是他们命令行选项文档中的一组示例值。您可能需要使用比特定用途、质量设置等更高的限制。例如,尝试将其保持在您最初在问题中所述的 1GB 限制以下。如果它仍然需要更多,您可能必须降低转换质量以适应您可以在进程中使用的 RAM 量。
    • 这对我有用。 convert 将被杀死,并且在调用 convert *.png out.pdf 时会遇到间歇性冻结。间歇性冻结仍然发生,但不那么严重。另外我设置了`-limit thread 2`
    猜你喜欢
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 2016-11-11
    • 2016-10-26
    • 2011-02-21
    相关资源
    最近更新 更多