Você provavelmente está usando muito ram e causando troca. Um teste simples usando /usr/bin/time -v
na frente do comando quando executado em 5 arquivos e novamente em 10 arquivos mostrará que Maximum resident set size
é aproximadamente o dobro de arquivos duplicados.
Então, ao invés de fazê-las todas de uma vez, converta-as uma de cada vez, ou diga dez de cada vez, depois concatencie os pdfs. Levará mais tempo, mas menos memória.
rm -f /tmp/file.pdf
for i in *.gif
do convert "$i" /tmp/a.pdf
if [ -s /tmp/file.pdf ]
then gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/tmp/b.pdf /tmp/file.pdf /tmp/a.pdf
else mv /tmp/a.pdf /tmp/b.pdf
fi
mv /tmp/b.pdf /tmp/file.pdf
done