YUI Compressor в среде с низким объемом памяти - PullRequest
0 голосов
/ 17 декабря 2009

Есть ли способ уменьшить объем памяти, необходимый для компрессора YUI, или есть другой компрессор, способный работать через командную строку в средах с "низким" объемом памяти?

Мой хостинг-провайдер имеет ограничения по объему памяти и виртуальной памяти, которые я могу использовать из оболочки. В настоящее время это выглядит так: ulimit -m 200000 -v 200000. Аргумент -v, похоже, имеет реальный эффект. Я получаю один из следующих двух результатов при попытке запустить YUI Compressor в этой среде:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

или

Exception java.lang.OutOfMemoryError: requested 32756 bytes for ChunkPool::allocate. Out of swap space?

Разница заключается в использовании аргументов JVM -Xms18m -Xmx18m для второго. Я могу продублировать этот эффект на моей локальной Linux-машине следующим образом:

( ulimit -v 200000; java -Xmx18m -jar yui-compressor-2.4.2.jar -o foo-min.css foo.css )

Я хочу собрать как javascript, так и css на хостинг-провайдере сразу после обновления исходного кода для отправки на работающий сайт.

1 Ответ

0 голосов
/ 18 декабря 2009

Мне удалось заставить Компрессор YUI работать в ограниченном пространстве памяти с помощью среды выполнения Small Footprint от Sun.

$ java -version
java version "1.5.0_10-eval"
Java(TM) 2 Runtime Environment, Standard Edition for Embedded (build 1.5.0_10-eval-b02, headless)
Java HotSpot(TM) Client VM (build 1.5.0_10-eval-b02, mixed mode)
Evaluation version, 90 days remain in evaluation period

Единственная проблема, которую я вижу, заключается в том, что это ознакомительная версия, но с этой версией мне не пришлось возиться с параметрами -Xmx или -XX: MaxPermPool.

...