ディレクトリに415個のgifファイルがあり、次のコマンドを使用してそれらの1つのPDFを作成しようとしています。
convert /path/to/*.gif file.pdf
ただし、システム全体がハング/フリーズする原因になります。言い換えると、システムが非常に遅くなり、プロセスをCtrl+ c(強制終了)する必要があります(これも停止に時間がかかります)。
この問題/問題にどのように直面しますか?このタスクを実行するためのより良い/代替メカニズム(コマンド/プログラム/回避策)はありますか?
注:Trisquel GNU / Linux 7.0 LTSを搭載したシンプルなデスクトップPC(3 + 3 GHzP4プロセッサと1GB og RAM)で作業しています。このconvert
プログラムは、ImageMagickツールスイートのメンバーです。
おそらく多くのRAMを使用していて、スワッピングを引き起こしています。/usr/bin/time -v
たとえば5つのファイルで実行したときにコマンドの前で使用する簡単なテストと10のファイルで実行するとMaximum resident set size
、2倍のファイルで約2倍になることがわかります。
したがって、一度にすべてを実行するのではなく、一度に1つずつ変換するか、一度に10と言ってから、PDFを連結します。時間がかかりますが、メモリは少なくなります。
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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加