我有一个命令行进程,由我的ruby轨应用程序运行使用ImageMagick“转换”命令将PDF转换成多个PNG。 问题是,当我运行命令时,我的VPS上的所有内存(512MB),并呈现许多其他function(Web服务器,SSH等)。
我的转换命令是这样的:
convert -density 288 ./document.pdf -resize 25% ./pages/page_%03d.png
我试图使用ulimit来限制这个进程可以消耗的内存大约15%的内存,我的512MB的VPS大约是76,800千字节。 如果我使用ulimit运行上面的命令,如下所示,这个过程最初没有限制地占用内存的80%,并且由于延迟导致服务器的其他function无效。 经过一段时间,这个过程降到10%以下(通常是内存的4-8%),但是其他所有服务器的function仍然很慢。
注意我关于进程耗费多less内存的数字来自顶端。
bash -c 'ulimit -m 76800; convert -density 288 ./document.pdf -resize 25% ./pages/page_%03d.png'
有没有人有任何想法,我怎么可以执行这个命令,而不消耗我所有的记忆?
谢谢!