有没有办法减少YUI压缩器所需的内存,还是有另一台压缩器能够在“低”内存环境中通过命令行运行?
我的托管服务提供商对我可以在shell中使用的内存和虚拟内存量有限制。目前它看起来像是: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以推送到实际网站。
答案 0 :(得分:0)
我能够通过使用Sun的Small Footprint Runtime Environment让YUI Compressor在受限制的内存空间中执行。
$ 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选项。