2009-12-17 108 views
0

有沒有辦法減少YUI壓縮機所需的內存,或者是否有另一臺壓縮機能夠在「低」內存環境下通過命令行運行?內存不足的YUI壓縮機

我的託管服務提供商對我可以在shell中使用的內存和虛擬內存量有限制。目前看起來像:ulimit -m 200000 -v 200000。 -v參數似乎具有實際效果。我得到以下兩個結果之一試圖在這種環境中運行的YUI壓縮機時:

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

我能夠通過使用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選項。