Minimagick error: libgomp: Thread creation failed: Resource temporarily unavailable

Minimagick error: libgomp: Thread creation failed: Resource temporarily unavailable

我正在尝试使用 MiniMagick / ImageMagick / mogrify 对照片进行批量转换,我一直看到:

libgomp: Thread creation failed: Resource temporarily unavailable

它可以很好地处理前 500 张左右的照片,然后似乎在 3093 张中的第 494 张照片上停滞不前。

有人知道为什么会这样吗?

我发现使用 posix-spawn gem fixed this for me as explained in the MiniMagick docs:

MiniMagick.configure do |config|
  config.shell_api = "posix-spawn"
end

所以我认为这与内存有关,但报告了一条神秘的错误消息。

在命令前加上MAGICK_THREAD_LIMIT=1。例如,而不是

mogrify -verbose -path 800px-wide -resize '800>' -quality 20% originals/*

MAGICK_THREAD_LIMIT=1 mogrify -verbose -path 800px-wide -resize '800>' -quality 20% originals/*